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 回答