PowerShell:如何从PowerShell以管理员身份运行远程命令提示符命令?

时间:2017-06-28 04:02:41

标签: windows powershell cmd powershell-v3.0 powershell-remoting

我的场景:通过远程桌面连接登录远程计算机并以管理员身份打开命令提示符,并在命令提示符下执行一些管理命令。

我正尝试通过本地计算机上的PowerShell自动执行上述方案。

以下是我所做的步骤:

  1. 要检查我的powershell脚本的工作情况,我手动登录到远程计算机(Admin Cred)并执行此命令Start-Process cmd -ArgumentList '/c cmdcommand > output.txt -Verb runas。这在远程机器中按预期工作,因为我得到了所需的输出。
  2. 现在,我尝试通过Invoke-Command -ComputerName computername - ScriptBlock {Start-Process cmd -ArgumentList '/c cmdcommand > output.txt -Verb runas} -Credentials $cred从本地PowerShell脚本执行此命令。我没有任何输出。
  3. 但是,当我尝试在没有runas参数的情况下执行上述命令时,我得到输出,说明此特定命令需要管理员凭据,这是预期的。Invoke-Command -ComputerName computername - ScriptBlock {Start-Process cmd -ArgumentList '/c cmdcommand > output.txt} -Credentials $cred
  4. 我在这里错过了什么吗?

2 个答案:

答案 0 :(得分:0)

执行:

 Enable-PSRemoting -Force

在目标PC上提示。然后Restart-Service WinRM

Enter-PSSession -ComputerName $rpc -Credential (Get-Credential)

答案 1 :(得分:0)

如果您能够远程访问默认端点Microsoft.PoweShell,则表示执行用户是目标计算机的管理员。

但是在这里,我怀疑你指定的cmdcommand实际上正在执行一些针对远程资源的执行,因此它将成为双重希望问题。

如果是这样,下面的文章将为您解决问题。

全部关于Credential Delegation