我是否可以使用RDP凭证运行远程PowerShell / Cmd命令,而不启用远程PS?

我处于一个“有趣”的情况,我有大约200台服务器的RDP凭据,但没有一台启用了Remote PowerShell

我需要一个简单的任务:重新启动它们。 但我拥有的是RDP(pipe理员帐户)凭据(包括:每个服务器的IP地址,用户名和密码)。

有没有办法从我的笔记本电脑(Windows 10,如果它是相关的)PowerShell /命令提示符,我使用该凭据,并在这些远程服务器上运行PowerShell / Cmd命令(将来,我可能需要命令而不是shutdown )?

正如@ryanbolger所提到的,你也可以用WMI来做到这一点。 杰弗里·希克斯在这里写了一篇好文章。 通过Active Directory或文本文件获取服务器列表。 我在下面使用一个文本文件,因为您没有明确表示您正在使用Active Directory。 你还提到你有用户名和密码。 如果他们不同,你将不得不为每个服务器添加。 我假设用户名和密码是相同的每一个。 MSDN是-argumentlist中选项的链接

 $servers = get-content c:\listofservers.txt $cred = get-credential foreach ($server in $servers) { Get-WmiObject -class win32_operatingsystem -ComputerName $server -credential $cred | Invoke-WMIMethod -name Win32Shutdown -credential $cred -argumentlist @(2) } 

Invoke-WMIMethod具有可用的-whatif参数。 我build议使用这个来确保它符合你的期望。 另外,在数量有限的testing机上执行此操作,然后再将其展开到所有200台,以确保它正在按照您的要求进行操作。 在我发布的链接中,如果某些服务器默认不重启,则还可以对-argumentlist使用不同的选项。

谢谢,Tim。

PsExec在远程计算机上运行任意命令非常stream行。

如果你需要的东西不用下载第三方软件,内置的shutdown.exe也可以做远程重启。 如果使用-i标志,它甚至有一个GUI。 它不允许您指定替代凭证,所以您必须在远程帐户凭据的上下文中使用类似runas方式运行它。

WMI也可以做到这一点,但是shutdown.exe可能更容易。

所以…两件事 Rpc服务器不可用是 – 如果什么也没有摆弄 – 防火墙是研讨会他们是azureVms我会说这是99%的防火墙问题。 问题是你的vm彼此隔离吗? 如果没有,请login其中的一个,然后使用任何描述的方法