![以用户身份在远程 Windows Server 上运行命令](https://linux22.com/image/660254/%E4%BB%A5%E7%94%A8%E6%88%B7%E8%BA%AB%E4%BB%BD%E5%9C%A8%E8%BF%9C%E7%A8%8B%20Windows%20Server%20%E4%B8%8A%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4.png)
我想以我在 Windows 中登录的用户身份在远程 Windows 服务器上运行命令。我该怎么做?
答案1
您可以使用SysInternals 套件或者你可以使用 PowerShell 的调用命令。我将让您根据您的环境和您想要运行的命令类型检查这些链接是否具有正确的语法。
答案2
使用psexec
:https://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
我建议阅读文档和文档中链接的几页。有一些小问题,但psexec
可以成为非常强大的工具。
答案3
我可能在这里遗漏了一些东西,但是当您登录到远程计算机并执行命令时,该命令确实在您的登录用户凭据下运行。
您可以在任务管理器中看到这种情况
另一方面,psexec 建立与远程计算机的连接,并使用您在 psexec 命令行中指定的凭据运行命令 - 但您的问题听起来像您已经通过(RDP???)登录并且只需要执行命令?
我是否误解了您的问题/配置?
答案4
在目标服务器上启用 Powershell 远程处理,然后Invoke-Command -ComputerName RemoteSeverName -ScriptBlock { some command }
在您的计算机上使用 Powershell。
默认情况下将使用协商或 kerberos 身份验证,因此该命令将以运行 Powershell 的用户身份运行,而无需指定凭据。
如果您想要操作系统自带但不是 Powershell 的东西,您也可以尝试,rsh
尽管我不记得它是否会使用您现有的身份验证上下文。由于它像 Powershell 远程处理一样依赖于 WinRM,我认为它会,但我在手机上,无法测试它。
我不认为psexec
这会满足您的要求,因为您必须向它提供凭证。