PowerShellでリモートマシンのサービスをリストする

多くのコンピューターを管理をすることはIT関係の仕事をしているとよくあることです。特に最近は仮想マシンの技術が発達して、より多くのコンピューターを管理する機会が多くなりました。それぞれのコンピューターにリモートログインをしてあるWindowsサービスがインストールされているかどうかをチェックするのは、数台のコンピューターだったら大したことはないのですが、10台、20台になるとそれだけで結構時間のかかるものです。

そこで、PowerShellのスクリプトでリモートマシンのWindowsサービスをリストすることができます。以下の例ではすべてのリモートマシンが同じ資格情報(Administrator)を使用できるものとします。

$credential = Get-Credential -Credential Administrator

$computers = “server1″,”server2″,”server3″,”server4″,”server5″,”server6″

foreach($computer in $computers)
{
    ” $computer ================”
    $allServices = Get-WMIObject Win32_Service -computer $computer -credential $credential
    $allServices | where{$_.DisplayName -match “integration”} | Format-List -Property DisplayName
}

※この記事は「徒然雑記」に掲載したものです。

[Tips] エクスプローラの右クリックメニューにpowershellを追加する

本記事は、レジストリを操作します。必ず自己責任の下において実行してください。


エクスプローラの右クリックメニューからPowerShellが起動できたら便利だとは思いませんか?

ということで、やってみたのでその方法を紹介します。

まず レジストリエディタを起動します。

powershell(コマンドプロンプトでもOK。ファイル名を指定して実行でもOK)上から regedit[Enter] で起動します。

HKEY_CLASSES_ROOT\Folder\Shellに新しいキーとしてpowershellを作成します。

つぎに、powershellの下にcommandを作成して、値のデータを「powershell.exe -noexit -command “cd ‘%L’ “」にします(下図参照)。

レジストリの編集

 

編集が終わったら、エクスプローラを開いて、任意のフォルダを右クリックしてみてください。コンテキストメニューに「powershell」が追加されていることを確認できます。

「powershell」を選択すると、今選択したフォルダをがカレントディレクトリとなってPowerShellが起動します。

pwoershell2

[Tips] プロンプト文字列を変更するには?

PowerShellのプロンプト文字列は既定で「カレントディレクトリ>」が表示されるようになっています。

プロンプト文字列は、prompt関数が返す文字列で決定されるので、関数を再定義してあげれば文字列を変更することができます。

たとえば、プロンプト文字列を「Hello >」に変更したい場合は

function prompt {"Hello >"}

と入力して実行します。

現在時刻がプロンプト文字として表示されるようにしてあげると、いつコマンドを実行したのかを把握できるようになりますね。

function prompt {(Get-Date).ToString() + ">"}

単に「PS >」と表示したい場合は

function prompt {""}

と入力します。

[ActiveDirectory] グループ管理(7) Remove-ADGroupMember

今回はRemove-ADGroupMemberコマンドレットを使用して、 Active Directoryグループからメンバーを削除する方法について説明します。

Remove-ADGroupMember

Active Directoryグループから、1つまたは複数のメンバーを削除するコマンドレットです。

Active Directoryグループからメンバーを削除する

ITGroupというグループからNaotoDateというアカウントのメンバーを削除するには下記のようにします。

-Identityパラメーターにグループを、-Membersパラメーターにメンバーを指定します。

Remove-ADGroupMember -Identity ITGroup -Members NaotoDate

パラメーターIdentityとMembersは省略することができるので、下記のように記述することもできます。

Remove-ADGroupMember ITGroup NaotoDate

また、削除するメンバーはカンマで区切って一度に複数を指定することができます。
下記は、ITGroupグループから、メンバーNaotoDateとTigerMaskを削除します。

Remove-ADGroupMember ITGroup NaotoDate, TigerMask

グループからはユーザーだけではなく、グループ、サービスアカウント、コンピューターも削除することができます。
下記はHRというグループからITGroupを追加する例です。

Add-ADGroupMember HR ITGroup

[ActiveDirectory] グループ管理(6) Add-ADGroupMember

今回はAdd-ADGroupMemberコマンドレットを使用して、 Active Directoryグループにメンバーを追加する方法について説明します。

Add-ADGroupMember

Active Directoryグループに、1つまたは複数のメンバーを追加するコマンドレットです。

Active Directoryグループにメンバーを追加する

ITGroupというグループにNaotoDateというアカウントのメンバーを追加するには下記のようにします。

-Identityパラメーターにグループを、-Membersパラメーターにメンバーを指定します。

Add-ADGroupMember -Identity ITGroup -Members NaotoDate

パラメーターIdentityとMembersは省略することができるので、下記のように記述することもできます。

Add-ADGroupMember ITGroup NaotoDate

また、メンバーはカンマで区切って一度に複数を指定することができます。
下記は、ITGroupグループに、メンバーNaotoDateとTigerMaskを追加します。

Add-ADGroupMember ITGroup NaotoDate, TigerMask

グループに追加できるのはユーザーだけではなく、グループ、サービスアカウント、コンピューターも追加することができます。
下記はHRというグループにITGroupを追加する例です。

Add-ADGroupMember HR ITGroup