在Powershell脚本中运行批处理脚本作为差异用户

时间:2017-09-01 11:55:33

标签: powershell batch-file

我有一个powershell脚本,从内部来看,我想以不同的用户身份运行批处理脚本。 这意味着我有一个AD服务用户帐户,我必须运行批处理脚本。 它必须像Windows中的计划任务一样工作,您可以在不存储密码的情况下将其作为差异用户运行。

现在的问题是我如何在服务用户的PowerShell脚本中运行批处理脚本,而不需要将密码存储在Powershell脚本中?

我试过这个:

Start-Process -Credentil "Domain\Account" -FilePath "CMD.exe" -Argumentlist "/c C:\myScript.cmd"

结果是弹出一个窗口,我必须在服务用户的密码中输入。

任何人都能帮助我吗?

谢谢你,最诚挚的问候, 尼科

1 个答案:

答案 0 :(得分:1)

您需要在脚本中注册带有凭据或存储密码的系统调度程序任务:

$credentials = New-Object System.Management.Automation.PSCredential -ArgumentList @($username,(ConvertTo-SecureString -String $password -AsPlainText -Force))
Start-Process -Credential $credentials -FilePath "cmd.exe"