これが私がこれまでに持っているものです:
$source1="C:\Folder\Files\IPList.txt"
Get-Content $source1 |
Where-Object {-not(gwmi win32_process -ComputerName $_ -filter "name='Program.exe'")} |
Foreach-Object {Invoke-Command -ComputerName $_ -ScriptBlock {"C:\Program Files\Folder\Folder\Program.exe"}}
これを ISE で実行すると、すべて正常に戻り、正しく実行されたと表示されます。しかし、リモート マシンを見ると、何も実行されていません。Process Program.exe が実行されていないため、exe を起動する必要があります。これをサーバーから実行して、約 50 台のリモート マシンにアクセスしています。50 個すべてを通過したら、ループしてもう一度実行し、無限ループでプロセスを続行します。
プログラムをリモートで開始するには何が欠けていますか? ところで、このスクリプトを Server 2008 R2 で実行していますが、Windows 7 マシンにヒットしています。
編集
プロセスが起動していることがわかるので、これは Windows 7 の問題ですか? Microsoft が変更したことと、サービスがユーザー空間でアプリケーションを起動できないことを知っています。これは同じ問題の一部だと思いますか?