在尝试了几种可能性后,我不确定如何继续。
我需要执行一个脚本"C:\test1\script.ps1"
而且我也需要用这个脚本传递一些参数。这些参数(-Hashtag $Hashtag -Name $Name
等等......)存储在一个名为$arguments
.
所以最终的调用应该是这样的:C:\test1\script.ps1 $arguments
这没问题,但现在我无法设法工作。
我的目标是作为不同的用户执行此操作。登录凭据存储在$cred
与论坛中的相关主题相比,我已经尝试了以下内容:
命令
Invoke-Command -Credential $cred -Authentication Credssp -ComputerName home -ScriptBlock {C:\test1\script.ps1 $arguments}
Powershell 结果:某些参数(在本例中为 Hashtag)为空。我不确定为什么会发生这种情况,因为我只是用所有的东西填充了 $arguments 变量。
命令
Start-Process -FilePath "C:\Windows\System32\WindowsPowershell\v1.0\powershell.exe" -ArgumentList "C:\test1\script.ps1 $arguments -Credential $cred -WorkingDirectory 'C:\\Windows\System32'
这导致脚本不会被执行。
有没有人有更多关于处理该建筑的信息?也许我可以将凭据传递给另一个命令?
作为另一个通知,我不能使用凭据提示,因此考虑到 UAC 的任何解决方案都不适合我的问题。