ドメイン内のすべてのサーバーに接続し、各サーバーで実行されているすべてのサービスのテーブルを作成する単純なスクリプトが必要です。ただし、スクリプトを自動化してforeachループ内のすべてのサーバーを取得しようとすると、RPCエラーが発生します。$ name変数がサーバーDNS名に置き換えられた場合、すべてが期待どおりに機能します。システム(win7)とサーバー(2000-2008R2)のファイアウォールとDCOMサービスを確認しましたが、これらはすべて適切に有効または無効になっています。だから、私はスクリプトの何かが壊れていると思っています。私はまだPowerShellを学習しているので、ヒントをいただければ幸いです。
これがこれまでのスクリプトです。$ servernames = get-adobject -Filter'ObjectClass -eq "Computer"' -Searchbase "OU = Servers、DC = E、DC = BENEFIS、DC = ORG"
foreach ($name in $servernames) {
Get-WMIObject win32_service -computername $name -Property SystemName,Name,StartName,StartMode |
Format-table SystemName, Name, Startname >c:\serverservices.txt }