1

問題は次のとおりです。

サーバー上でコマンドを実行できるリモートサーバーがあります。さまざまなアプリケーションを実行するサーバーが多数あります。サーバーごとにサーバー上でアプリケーションを起動するスクリプトがボックスに PowerShell で記述されています。ただし、リモートで実行すると、間違ったユーザー名とパスワードで実行されます。したがって、正しいユーザー名とパスワードで起動スクリプトを実行するスケジュールされたタスクをボックスに作成するつもりでした。ただし、成功、失敗などを示すこれらのスクリプトからの戻り値も取得したいと考えています。スケジュールされたタスクにはエラー コードが関連付けられていることは知っていますが、独自のタスクを作成してリモートで取得するにはどうすればよいですか。

質問:

スケジュールされたタスクをリモートで実行して終了コードを取得することはできますか?

例: schtasks /run /tn "StartupApplications"

それとも、より良い解決策を知っていますか? 私はpowershell資格情報スクリプトを使用してみました:

$credential = New-Object System.Management.Automation.PSCredential $username,$password
exit ((start-process powershell -ArgumentList '-NoProfile -File "C:\Scripts\Startup.ps1"' -Credential $Credential -Wait -Passthru).ExitCode)

しかし、ConvertFrom-SecureString を使用して作成したキーは、ユーザー名に関連付けられていました。その問題に関する情報

4

1 に答える 1

0

スケジューラではなくジョブを使用することをお勧めします。

start-job -ScriptBlock {. "C:\Scripts\Startup.ps1"; $LASTEXITCODE} -Credential $Credential | wait-job | receive-job 
于 2012-11-11T07:35:08.087 に答える