我是否可以在未启用远程 PS 的情况下使用 RDP 凭据运行远程 PowerShell/Cmd 命令?

我是否可以在未启用远程 PS 的情况下使用 RDP 凭据运行远程 PowerShell/Cmd 命令?

我处于一个“有趣”的情况,我拥有大约 200 台服务器的 RDP 凭据,但没有一台服务器启用远程 Powershell。

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

有没有什么方法可以从我的笔记本电脑(如果相关的话,是 Windows 10)PowerShell /命令提示符中,使用该凭据并在那些远程服务器上运行 PowerShell /Cmd 命令(将来,我可能需要除之外的其他命令shutdown)?

答案1

正如 @ryanbolger 提到的,您也可以使用 WMI 执行此操作。Jeffrey Hicks 写了一篇很好的文章这里。通过 Active Directory 或文本文件获取服务器列表。下面我将使用文本文件作为示例,因为您没有明确说明您正在使用 Active Directory。您还提到您有用户名和密码。如果它们不同,您也必须为每个服务器添加它们。我假设每个服务器的用户名和密码都相同。微软是 -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 参数可用。我建议使用它来确保它能按照您的预期运行。此外,在将其推广到所有 200 台机器之前,请在有限数量的测试机器上执行此操作,以确保它能按照您的要求运行。在我发布的链接中,如果某些服务器默认不重新启动,您还可以使用不同的 -argumentlist 选项。

谢谢,蒂姆。

答案2

执行程序在针对远程机器运行任意命令方面相当流行。

如果您需要无需下载第三方软件即可使用的功能,内置功能shutdown.exe也可以进行远程重启。如果您使用该-i标志,它甚至还有一个 GUI。但是它不允许您指定备用凭据,因此您必须在远程帐户凭据的上下文中使用类似 的内容来运行它runas

也有方法可以使用 WMI 来执行此操作,但是 shutdown.exe 可能更容易。

答案3

所以... 有两件事。Rpc 服务器不可用 - 如果没有动过 - 防火墙正在讨论它们是 azureVms 我会说这是 99% 的防火墙问题。问题... 您的虚拟机是否彼此隔离?如果没有 - 登录其中一个并使用其中描述的任何方法

相关内容