在遠程計算機運行PowerShell命令

在遠程計算機運行PowerShell命令sql



檢查PowerShell Remoting是否啓用ide


在Windows Server 2008 R2上以管理員身份運行PowerShell,而後輸入測試

Enter-PSSession -ComputerName localhost


返回以下截圖:spa

clip_p_w_picpath002

說明該版本默認是沒有啓用PowerShell Remoting功能。blog


在Windows Server 2012 R2上,返回以下截圖:ip

clip_p_w_picpath004


在Windows Server 2016上,返回以下截圖:get

clip_p_w_picpath005

說明在2012和2016上,默認啓用了PowerShell Remoting功能。it



啓用PowerShell Remotingio


在Windows Server 2008 R2上,以管理員身份運行PowerShell,而後輸入如下腳本:class

Enable-PSRemoting -Force


這個命令會啓動WinRM服務,設置爲在你的系統上自動啓動,並建立一條容許傳入鏈接的防火牆策略。


驗證是否啓動成功:

clip_p_w_picpath007



配置信任主機


若是你的主機不在域環境,而是在工做組環境,能夠配置可以遠程訪問該主機的可信任列表。

Set-Item wsman:\localhost\client\trustedhosts *

你也能夠將*替換爲可信任的局域網主機192.168.11.*


而後,重啓WinRM服務使之生效:

Restart-Service WinRM



測試鏈接


從訪問遠程主機的客戶端,經過Test-WsMan測試你的配置。這個命令測試遠程主機上WinRM服務是否在運行。若是成功完成,你會知道WinRM啓用了,能夠彼此通訊。

Test-WsMan szsql05


若是命令成功完成,你會看到遠程計算機的WinRM服務信息。若是命令失敗,會看到錯誤信息。

clip_p_w_picpath009



執行遠程命令


使用Invoke-Command在遠程系統上運行命令。語法以下:

Invoke-Command -ComputerName COMPUTER -ScriptBlock { COMMAND } -credential USERNAME

COMPUTER爲計算機的名字;

COMMAND是你要運行的命令;

USERNAME是你想在遠程計算機上運行命令的用戶名。你會提示輸入該用戶名的密碼。


例如,以用戶dx\xucy查看遠程計算機szsql05上C盤根目錄下的內容,你能夠輸入以下命令:

Invoke-Command -ComputerName szsql05 -ScriptBlock { Get-ChildItem C:\ } -credential dx\xucy

clip_p_w_picpath011


輸入域帳號密碼後:

clip_p_w_picpath013



開始一個遠程會話


使用Enter-PSSession啓動一個遠程PowerShell會話,這裏你能夠運行多個命令,而不僅運行一個命令:

Enter-PSSession -ComputerName COMPUTER -Credential USER

clip_p_w_picpath015

相關文章
相關標籤/搜索