如何部署與使用 Windows PowerShell Web 存取
問題的來龍去脈
我想要在任意電腦或手機裝置,透過瀏覽器存取遠端電腦的 PowerShell 進行管理,是否有方法可以做到?
問題的發生原因
在 Windows PowerShell 3.0 提供新功能 Windows PowerShell Web Access,可以讓我們在任何地方存取 PowerShell,不需 VPN 或 DirectAccess;
並可使用多種裝置輸入 Cmdlet,只需透過瀏覽器(Internet Explorer、Firefox、Safari、Chrome、Opera 等);
不需要安裝 Windows PowerShell 及 WinRM,不必是 Windows 作業系統,不必是個人電腦(PDA、平板電腦、智慧型手機等)。
問題的解決方法
部署 Windows PowerShell Web Access
使用新增角色及功能精靈安裝 Windows PowerShell Web 存取
1. 開啟【伺服器管理員】,選擇【新增角色及功能】。
2. 選擇【下一步】。
3. 選擇【下一步】。
4. 選擇【下一步】。
5. 選擇【下一步】。
6. 在【功能】中,勾選【Windows PowerShell Web 存取】。
7. 此時出現【新增角色及功能精靈】,按【新增功能】。
8. 確認勾選【Windows PowerShell Web 存取】,按【下一步】。
9. 按【下一步】。
10. 按【下一步】。
11. 按【安裝】。
12. 安裝完成,按【關閉】。
使用 Install-PswaWebApplication 以測試憑證設定 Windows PowerShell Web 存取閘道
1. 在 PowerShell 圖示上,按滑鼠右鍵,選擇【以系統管理員身分執行】。
2. 如果出現【使用者帳戶控制】,請按【是】。
3. 輸入 Install-PswaWebApplication -UseTestCertificate 按 Enter 鍵。
請注意 UseTestCertificate 參數只能用在私人測試環境中。若要安全的生產環境,建議使用 CA 簽署的有效憑證。
4. 安裝後,可到 IIS 管理員中,在【站台】,【Default Web Site】會有【pswa】。
5. 選擇【Default Web Site】,在【動作】中選擇【繫結】。
6. 選擇【https】,按【編輯】,在【SSL 憑證】中您會看到已經設定好【PowerShellWebAccessTestWebSite】。
設定授權規則
1. 新增使用者,或是使用現有的使用者來授予可使用 PowerShell Web Access,我們新增一個使用者 PSWA,並且讓該使用者具備可使用權限。
2. 輸入指令 Add-PswaAuthorizationRule -UserName <網域\使用者 | 電腦\使用者> -ComputerName <電腦名稱> -ConfigurationName <工作階段設定名稱>
以本例子而言,輸入指令 Add-PswaAuthorizationRule –UserName WIN-9F09NSIJTCO\PSWA -ComputerName WIN-9F09NSIJTCO –ConfigurationName *
輸入指令 Get-PswaAuthorizationRule 確定已建立規則。
3. 如果想要移除授權規則,可輸入 Remove-PswaAuthorizationRule -ID <規則識別碼>
例如要移除 Id 0,則輸入 Remove-PswaAuthorizationRule –ID 0
使用 Windows PowerShell Web Access
1. 使用瀏覽器連結至 https://<伺服器名稱>/pswa,如果使用測試憑證,可能會出現如下圖警告訊息,請按【仍要繼續】。
2. 輸入【使用者名稱】、【密碼】、【電腦名稱】,完成後按【登入】。
3. 登入 PowerShell Web Access 成功,您可以開始輸入 Cmdlet 進行使用。
常見問題
已拒絕對目的電腦的存取。請確認您可以存取目的 Windows PowerShell 工作階段設定。如果目的電腦上已停用 Windows PowerShell 遠端管理,則也可能會發生此錯誤。
此問題常見原因是沒有啟用 Windows PowerShell 遠端管理
以系統管理員身分執行 PowerShell,輸入 Enable-PSRemoting -Force 按 Enter 鍵進行啟用。
授權失敗。請確認您已獲授權可連線至目的電腦。
此問題是登入的使用者沒有權限可以連結,使用 Add-PswaAuthorizationRule 加入權限即可。