Windows操作系統(tǒng)作為優(yōu)秀的操作系統(tǒng),由開(kāi)發(fā)操作系統(tǒng)的微軟公司控制接口和設(shè)計(jì),公開(kāi)標(biāo)準(zhǔn),因此,有大量商業(yè)公司在該操作系統(tǒng)上開(kāi)發(fā)商業(yè)軟件。 最近筆者就遇到一個(gè)要批量重啟 2300 多臺(tái) Windows Server 的艱巨任務(wù),這批服務(wù)器全為 DELL 刀片,要求 5 天內(nèi)完成全部重啟,是根本不可能去一臺(tái)臺(tái)手動(dòng)重啟的。 ![]() 對(duì)熟悉 PowerShell 的管理員來(lái)說(shuō),肯定首先想到 Restart-Computer cmdlet。Restart-Computer 是許多 IT Pro 用來(lái)重啟本地和遠(yuǎn)程計(jì)算機(jī)的常見(jiàn)命令,畢竟可以在 ComputerName 參數(shù)中指定盡可能多的計(jì)算機(jī)(名)來(lái)批量重新啟動(dòng) Windows 計(jì)算機(jī)。 問(wèn)題就這么解決了?似乎沒(méi)這么簡(jiǎn)單。 其中一個(gè)潛在的問(wèn)題就是 Restart-Computer 不能自動(dòng)工作,遠(yuǎn)程計(jì)算機(jī)本身必須滿足某些先決條件才能實(shí)現(xiàn)重啟。例如:遠(yuǎn)程計(jì)算機(jī)必需使用 DCOM 或 WSMAN 進(jìn)行身份驗(yàn)證。 默認(rèn)情況下,Restart-Computer 使用 DCOM。所有要重啟的遠(yuǎn)程計(jì)算機(jī)要先確認(rèn)是否啟用了 DCOM 或 PowerShell Remoting,這樣 Restart-Computer 才可以以 WsManAuthentication 和 DcomAuthentication 參數(shù)的形式提供一些選項(xiàng)。通過(guò)使用這些參數(shù),可以指定連接到每臺(tái)遠(yuǎn)程計(jì)算機(jī)的方式。 Restart-Computer -ComputerName SRV1 -WsmanAuthentication {Default | Basic | Negotiate | CredSSP | Digest | Kerberos}Restart-Computer -ComputerName SRV1 -DcomAuthentication {Default | None | Connect | Call | Packet | PacketIntegrity | PacketPrivacy | Unchanged } 如果確定好了連接方式,那么 Restart-Computer -ComputerName 后跟定的計(jì)算機(jī)名將按順序重啟。例如:computer 1、computer 2、computer 3 等等。 當(dāng)然,2300 臺(tái)服務(wù)器是不可能一次性就重啟的。如果我們計(jì)劃好每次重啟 100 臺(tái),分 24 次就可以將 2300 余臺(tái)服務(wù)器全部重啟。而且就算每次只重啟 100 臺(tái) Windows Server,也是需要一段時(shí)間的。由于 Restart-Computer 的每次重啟任務(wù)都是獨(dú)立的,而每臺(tái)服務(wù)器重啟都需要時(shí)間,管理員是否需要等待每一個(gè)重啟任務(wù)完成呢?當(dāng)然不是!Restart-Computer 有一個(gè) AsJob 參數(shù),可以使用 AsJob 參數(shù)來(lái)創(chuàng)建一個(gè)后臺(tái)作業(yè),讓批量重啟任務(wù)在后臺(tái)下發(fā),而不必停下等待每臺(tái)服務(wù)器重啟完成。(使用后臺(tái)任務(wù),比一次又一次執(zhí)行重啟任務(wù)要快得多。) Restart-Computer -ComputerName SRV1,SRV2,SRV3,SRV4 -AsJob 重啟命令批量分發(fā)下去之后還沒(méi)完,我們還需要確定重啟的 Windows Server 是否被正常喚醒。為了確認(rèn)遠(yuǎn)程主機(jī)是否已經(jīng)正常啟動(dòng),我們還可以使用 Wait 參數(shù)和 For 參數(shù)。Wait 和 For 參數(shù)非常適合在腳本中使用,可以在遠(yuǎn)程計(jì)算機(jī)恢復(fù)后執(zhí)行其他任務(wù)。 Restart-Computer -ComputerName SRV1 -For {Wmi | WinRM | PowerShell} Restart-Computer cmdlet 在許多不同的場(chǎng)景中非常有用,通過(guò)它提供的參數(shù)不僅可批量遠(yuǎn)程重啟 Windows 計(jì)算機(jī),還可以執(zhí)行重啟后的規(guī)定任務(wù)。 Windows操作系統(tǒng)對(duì)硬件支持良好。 |
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!