Powershell

我可以在不啟用遠端 PS 的情況下使用 RDP 憑據執行遠端 PowerShell/Cmd 命令嗎?

  • January 30, 2017

我處於一個“有趣”的情況,我擁有大約 200 台伺服器的 RDP 憑據,但它們都沒有啟用遠端 Powershell。

我需要一個簡單的任務:重新啟動它們。但我所擁有的只是 RDP(管理員帳戶)憑據(包括:每個伺服器的 IP 地址、使用者名和密碼)。

我的筆記型電腦(Windows 10,如果相關)有什麼辦法shutdown嗎?

正如@ryanbolger 所提到的,您也可以使用 WMI 執行此操作。Jeffrey Hicks在這裡寫了一篇很好的文章。通過 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 參數。我建議使用它來確保它按照您的預期進行。此外,在將其推廣到全部 200 台測試機器之前,請在有限數量的測試機器上執行此操作,以確保它正在執行您希望它執行的操作。在我發布的連結中,如果某些伺服器預設不重新啟動,您還可以為 -argumentlist 使用不同的選項。

謝謝,蒂姆。

引用自:https://serverfault.com/questions/829206