Windows PowerShell:隱含遠端
Don Jones
有 ’s 小已知功能在 Windows PowerShell 2.0 可以輕鬆地新增到您的環境的彈性中擁有驚人的數量。 想像一下您的用戶端電腦主要是執行 Windows XP,還是 enough 常見的案例。 您的網域控制站會使用 Windows Server 2003。
您可以在這兩個這些 OS,取得 Windows PowerShell 2.0,但您可能無法使用某些較新 Windows PowerShell Cmdlet 模組,像隨附 Windows Server 2008 R2 的 Active Directory 模組。 這些模組 won’t 較早版本的 Windows 上執行。
’s 沒有問題。 只安裝 Windows 7 或 Windows Server 2008 R2 (Active Directory 模組會執行的那些) 您環境中的一台電腦上。 就例如您可能因為 Active Directory 模組和模組通訊的 Active Directory 管理閘道服務,將會提供您安裝單一的 Windows Server 2008 R2 網域控制器。 下載閘道服務 並安裝在 Windows Server 2008 和 Windows Server 2003 上。
藉由在 Windows PowerShell 執行 的 啟用 PSRemoting 該新的網域控制站上啟用遠端處理和 WinRM。 在您的 Windows XP 用戶端電腦上引發 Windows PowerShell 2.0 向上然後準備開始進行一些魔法中。
建立模組
一開始先建立新的網域控制站的遠端工作階段:
$session = New-PSSession -computerName my-new-dc
當然提供正確的電腦名稱,「 我的新-dc,」 的位置。 您可以指定替代的認證或替代 WinRM 連接埠的其他參數。 執行 幫助新 pssession 以取得詳細資料。
接下來,告訴 Windows PowerShell 載入 Active Directory Cmdlet 的該遠端執行個體:
Invoke-command { import-module activedirectory } -session $session
這裡 ’s 酷炫的一部份:已從遠端工作階段的 Active Directory Cmdlet 匯出到本機的模組,在您的用戶端電腦上的 Windows PowerShell 您本機實例:
Export-PSSession -session $session -commandname *-AD* -outputmodule RemAD -allowclobber
此指令會建立在您 WindowsPowerShell\Modules\RemAD] 下的 [文件] 資料夾中儲存一個新 Windows PowerShell 模組。 其名稱符合模式,Cmdlet 「 *-AD * 」 將會包含在內。 ’s 其中一個最大的原因,大部分的內建指令程式使用某種像 「 AD 」 的前置詞的指令程式 ’s 名稱的一部分。 這種方式讓您更容易抓取這些指令程式。
指令程式 aren’t 實際上會複製到本機電腦。 而是,在本機建立的模組可做為一種快顯。 指令程式會永遠執行遠端網域] 控制站上,但指令程式似乎在本機上執行。
使用指令程式
請先移除該工作階段的遠端網域控制站:
Remove-PSSession -session $session
現在載入新模組:
Import-Module RemAD -prefix Rem
這個命令會將新的模組載入至記憶體,並將 「 rem 」 前置詞附加至該模組中的每個指令程式的名稱。 前置詞是提醒您這些指令程式將會從遠端執行的好方法。 您可以選擇您所喜歡的任何前置詞,但我通常使用的項目如 「 R 」 或 「 rem 」 來突顯如 「 遠端 」。
嘗試在遠端的指令程式要求說明:
Help New-RemADUser
因為目前的遠端工作階段 isn’t 建立電腦與這些指令程式的居住的網域控制站之間,查看發生的錯誤。 您 don’t 需要明確地啟動該工作階段。 您可以 隱含 這麼嘗試執行遠端指令程式的其中一個:
Get-RemADUser -filter "Name -like 'D*'"
這將 re-instantiate 遠端連線到網域控制站、 送出執行的指令,並在網域控制站上執行命令。 然後將序列化成 XML 名稱開頭為 「 D 」 的每位使用者,並到您的電腦在網路上傳輸。 有它們是 de-serialized 回您可以使用 Windows PowerShell 管線中的物件。 現在您可以因為遠端工作階段正在使用中,所以要求的說明:
Help New-RemADUser
工作階段維持作用中,直到您關閉殼層執行個體,或移除模組:
Remove-Module RemAD
郵件到達和管理事物
隱含的遠端處理可更容易地使用只是在遠端電腦上使用的指令程式。 隱含遠端指令程式的行為幾乎相同的方式在本機安裝時它們執行的動作一樣。 這可使用需要它們時。 遠端工作階段需要少許的額外負荷,您的電腦上,或在遠端的電腦上,因此這是超級可行的方法來散佈計算。
Don Jones *is a founder of Concentrated Technology, and answers questions about Windows PowerShell and other technologies at ConcentratedTech.com.*他也 ’s Nexus.Realtimepublishers.com ,讓他的書籍的許多免費的電子版本 為可用的作者