私のコンピューターは Windows 7 で、Powershell を実行しています。Powershell がインストールされていない他のマシン (Windows XP) から情報 (具体的には netstat) を取得するコマンドを実行したいと思います。これは Powershell で可能ですか、それとも別の解決策を見つける必要がありますか?
答え1
Powershell をリモートで実行するには、リモート マシンに Powershell がインストールされている必要があります。必要なのは PsExec のようなものを使用することです。http://technet.microsoft.com/ja-jp/sysinternals/bb897553 より。
答え2
PowerShell リモート処理は確かに画期的なものではありません。しかし、WMI 経由で収集できる情報はまだたくさんあります。私が過去に使用した別の手法は、別のコンピューターでタスクをリモートでスケジュールし、スクリプトを「ローカル」で実行して必要な情報を取得するというものです。これは、netstat などの場合に非常に有効です。
答え3
これを行う方法はいくつもありますが、取得できる情報の量は使用する手法によって大きく異なります。
Get-WmiObject -computerName をご覧になることをお勧めします。これにより、WMI のネイティブ リモート処理を使用して、XP および Windows 2000 (またはそれ以降の OS) と通信します。完全な PowerShell で実行できるすべての操作を実行できるわけではありませんが、Windows XP の WMI で実行できるすべての操作を実行でき、単一のボックスで PowerShell からリモート管理できるようになります。
EventLog も同様のメカニズムでリモートで開くことができます。XP または 2000 からリモート イベント ログ エントリを取得するには、Get-EventLog -ComputerName を使用します。
お役に立てれば
答え4
Get-WMIObject コマンドレットを -ComputerName パラメータとともに使用できますが、リモート マシンに対する管理者権限が必要です。
Get-WMIObject Win32_BIOS -ComputerName Contoso-Client -Credential Get-Credential
ローカル コンピューター上でリモート マシンに対する権限を持たない別のアカウントを使用している場合は、-Credential を使用します。リモート マシンで管理者アクセス権を持つアカウントの資格情報が必要になります。