PowerShell遠(yuǎn)程操作是遠(yuǎn)程管理的基礎(chǔ),它為集中管理分布式系統(tǒng)提供了又一種可靠、高效的方法。
一般來(lái)說(shuō)PowerShell遠(yuǎn)程操作依賴于遠(yuǎn)程處理基礎(chǔ)結(jié)構(gòu),但為數(shù)不多的幾個(gè)自身具有遠(yuǎn)程處理能力的命令除外,如Get-Service、Get-Process、Get-WMIObject、Get-EventLog和Get-WinEvent等。(不難看出,這些命令都是“讀取”系統(tǒng)的某些方面的信息,不做更改。它們依賴.Net Framework完成遠(yuǎn)程操作。)
配置遠(yuǎn)程基礎(chǔ)結(jié)構(gòu)
遠(yuǎn)程基礎(chǔ)結(jié)構(gòu)是遠(yuǎn)程操作的基礎(chǔ),正確設(shè)置遠(yuǎn)程基礎(chǔ)結(jié)構(gòu)才能使遠(yuǎn)程命令正確執(zhí)行。好在遠(yuǎn)程基礎(chǔ)結(jié)構(gòu)雖然重要,但是配置起來(lái)非常簡(jiǎn)單。實(shí)際上,只要設(shè)置好以下兩點(diǎn)就可以進(jìn)行遠(yuǎn)程操作了:
1、以管理員身份運(yùn)行。要進(jìn)行遠(yuǎn)程操作,必須以管理員身份啟動(dòng)PowerShell命令行,即使當(dāng)前用戶是系統(tǒng)管理員也要如此。
2、啟用遠(yuǎn)程處理模式。啟用遠(yuǎn)程處理模式之后,依賴遠(yuǎn)程基礎(chǔ)結(jié)構(gòu)的命令才能正確執(zhí)行。啟用遠(yuǎn)程處理模式請(qǐng)使用enable-psremoting命令。有的系統(tǒng)默認(rèn)已經(jīng)開(kāi)啟了遠(yuǎn)程處理模式,檢查遠(yuǎn)程處理模式是否啟動(dòng),可以執(zhí)行new-pssession命令。如果新的會(huì)話成功創(chuàng)建,則說(shuō)明遠(yuǎn)程模式啟動(dòng),遠(yuǎn)程基礎(chǔ)結(jié)構(gòu)配置成功。
執(zhí)行遠(yuǎn)程操作
配置好遠(yuǎn)程基礎(chǔ)結(jié)構(gòu),就可以執(zhí)行遠(yuǎn)程操作了。遠(yuǎn)程操作主要依賴幾個(gè)Session(會(huì)話)命令和Invoke-Command命令來(lái)進(jìn)行。常見(jiàn)的使用情況有三種場(chǎng)景:
場(chǎng)景一:遠(yuǎn)程交互式會(huì)話
這個(gè)場(chǎng)景一般用于手動(dòng)進(jìn)行遠(yuǎn)程操作,輸入命令,查看結(jié)果。方法很簡(jiǎn)單。進(jìn)入交互式會(huì)話的命令是Enter-PSSession,退出時(shí)鍵入Exit-PSSession或者exit都可以。遠(yuǎn)程交互式操作期間,輸入的命令在遠(yuǎn)程計(jì)算機(jī)上運(yùn)行,就像直接在遠(yuǎn)程計(jì)算機(jī)上輸入并執(zhí)行這些命令一樣。期間所定義的變量和命令的執(zhí)行結(jié)果在退出交互式會(huì)話之后不再可用。
場(chǎng)景二:腳本塊、腳本文件的一次性執(zhí)行
這種場(chǎng)景,是在本地計(jì)算機(jī)與遠(yuǎn)程計(jì)算機(jī)上建立一個(gè)臨時(shí)會(huì)話。將腳本塊或者腳本文件的內(nèi)容發(fā)送到遠(yuǎn)程計(jì)算機(jī)執(zhí)行,并將結(jié)果發(fā)回本地計(jì)算機(jī)。這種方法執(zhí)行效率很高,是PowerShell推薦的執(zhí)行遠(yuǎn)程命令的方法。除非需要在會(huì)話中共享數(shù)據(jù),否則建議使用該方法。
場(chǎng)景三:腳本塊、腳本文件在命名會(huì)話中執(zhí)行
這種場(chǎng)景是最復(fù)雜的,也是功能最強(qiáng)大的。會(huì)話會(huì)保持所有定義的變量、函數(shù)和腳本,導(dǎo)入的模塊和管理單元,有利于共享數(shù)據(jù)。使用方法如下:
1、定義會(huì)話: 請(qǐng)使用new-pssession命令定義會(huì)話,如$session1 = new-pssession –computer server1。(如果必要請(qǐng)使用Credential參數(shù)。)
2、在會(huì)話中遠(yuǎn)程執(zhí)行腳本(或者腳本文件): 請(qǐng)使用Invoke-Command命令執(zhí)行遠(yuǎn)程腳本,如Invoke-Command -Session $session1 -ScriptBlock {dir c:/}或者Invoke-Command -Session $session1 -FilePath ./dirDriveC.ps1
新聞熱點(diǎn)
疑難解答
圖片精選