【问题标题】:Execute remote powershell script from local system从本地系统执行远程 powershell 脚本
【发布时间】:2013-10-15 06:18:47
【问题描述】:

我是这个 powershell 的新手。如果这里有任何问题,请执行我。

现在直奔问题,我有一个 powershell 脚本存储在一个驱动器中,比如远程系统中的 "D:\myfile.ps1"。

现在我需要从本地系统执行此脚本,这就是我所做的方式

ExecuteCommand(Directory.GetCurrentDirectory & "\Psexec \\myservername -i -u username -p password powershell.exe Invoke-Command -ComputerName \\myservername -FilePath D:\myscript.ps1")

结果以这种方式显示我没有任何输出给我一个错误

"powershell exited on myservername with error code 1'

如果运行此脚本以在同一台服务器上运行 .exe,它工作正常

ExecuteCommand(Directory.GetCurrentDirectory & "\psexec \\myservername -u username -p password D:\myfile.exe")

那么执行我的脚本以在远程桌面上运行的正确方法是什么?

建议后更新:

【问题讨论】:

  • 可能是 UAC 问题?尝试右键单击并以管理员身份运行以测试此理论。
  • @MattWilko-根据您的建议,我尝试使用 Start-Process powershell -Verb runAs 以管理员身份运行它,但这也给了我相同的结果。

标签: vb.net powershell-2.0 remote-desktop localsystem


【解决方案1】:

你可以试试吗:

ExecuteCommand(Directory.GetCurrentDirectory & "\Psexec \\myservername -i -u username -p password powershell.exe -command  "&{Invoke-Command -ComputerName \\myservername -FilePath D:\myscript.ps1}"

【讨论】:

  • @JPBlanc-它给了我一些蓝点,在“&”之后用双引号表示错误所以我把它改成了这个 ExecuteCommand(Directory.GetCurrentDirectory & "\Psexec \\myservername -i -u username -p password powershell.exe -command " & "{Invoke-Command -ComputerName \\myservername -FilePath D:\FreeSpace.ps1}") 现在它给了我,因为 powershell 在 myservername 上退出,错误代码为 0 并添加了截图它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-10-12
  • 2020-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-18
相关资源
最近更新 更多