工作群組環境下管理windows.

來源:互聯網
上載者:User

標籤:des   style   blog   http   color   使用   

此處指的是windows7

1.防火牆設定

  開啟wmi,remoteadmin

2.修改Powershell執行策略
Set-ExecutionPolicy RemoteSigned
3.安裝powershell3.0
查看版本辦法
PS下$host
或則

$psvertiontable

檢查winrm版本

winrm id

4.在提權的命令列下建立管理員帳號,加入Administrator 群組

net user test * /add /comment:"test user" /expires:never /fullname:"xx”

net localgroup administrators test /add

查看使用者和組,net user test

net localgroup administrators

5.命名網卡串連LAN0,LAN1,LAN-free,設定網路環境為專用網路6.配置winRM

前提:提權的command下運行

被管理端:

winrm quickconfig

遠程執行指令的兩種方式

winrm –r:computername command

icm hostname {powershell-command}

icm是Invoke-Command的簡寫

管理用戶端(不在powershell下):
6.1 WinRM quickconfig  //配置winrm服務,防火牆例外設定,啟動winrm listener
6.2 winrm set winrm/config/client @{TrustedHosts=”remote-computer-name”} //設定信任的用戶端
(另一種方式

# Enabled Trusted Hosts for Universial Access

cd wsman:

cd localhost\client

Set-Item TrustedHosts * -force

restart-Service winrm

)
6.3 確定winrm在運行:get-service winrm
6.4 enable-psremoting –force (不確定是否要執行,應該是在被管理端執行)
參見:http://tech.ccidnet.com/art/302/20100701/2102911_1.html
http://technet.microsoft.com/en-us/library/hh849694.aspx

當執行該cmdlet時執行了以下操作,其中包括:

1. 啟動或重新啟動(如果已啟動) WinRM 服務。

2. 將 WinRM 服務類型設定為自動啟動。

3. 在本機電腦上建立一個接聽程式以接受任意 IP 位址上的請求。

4. 對 WS-Management 流量啟用防火牆例外(僅適用於 http),如果要啟用PS遠端管理,此時網路位置不能被設定為public,因為Windows 防火牆例外不能在網路位置是public時被啟用。

5.啟用所有註冊的PS線程配置資訊。

The Enable-PSRemoting cmdlet performs the following operations:

-- Runs the Set-WSManQuickConfig cmdlet, which performs the following tasks:

----- Starts the WinRM service.

----- Sets the startup type on the WinRM service to Automatic.

----- Creates a listener to accept requests on any IP address.

----- Enables a firewall exception for WS-Management communications.

----- Registers the Microsoft.PowerShell and Microsoft.PowerShell.Workflow session configurations, if it they are not already registered.

----- Registers the Microsoft.PowerShell32 session configuration on 64-bit computers, if it is not already registered.

----- Enables all session configurations.

----- Changes the security descriptor of all session configurations to allow remote access.

----- Restarts the WinRM service to make the preceding changes effective.

預設情況下,PowerShell遠端管理使用5985(http)和5986(https)連接埠

當給Enable-PSRemoting cmdlet增加-force參數後執行將會在靜默狀態下啟用遠端管理,PowerShell遠端管理是不能通過遠程啟用的。

如果遠端管理被啟用了,可以使用下面的cmdlet查看:

PS C:\ > Enter-PSSession –ComputerName localhost

使用者將會看到如2所示的提示符:

6.5 winrs -r:Remote-computer-name whoami  //測試winrm串連,此處用whoami直接用本機使用者名稱
winrs -r:Remote-computer-name ipconfig //在遠程被管理端測試ipconfig
進入Powershell,
6.6 Get-Process | Sort-Object -Property CPU -Descending | Select -First 10 //原生前10個進程
icm Remote-computer-name {Get-Process | Sort-Object -Property CPU -Descending | Select -First 10} //被管理的遠端主機的前10個進程
一對多管理:

Invoke-Command -ComputerName WinServ-wfe, SQL-Server2008 -ScriptBlock {Get-Process}

Invoke-Command -ComputerName (get-content c:\scripts\servers.txt) -ScriptBlock {Get-Process}

這種方式也被稱之為散開式或一對多遠端管理。使用者能用一條命令在多台主機上執行相同的命令。

指令碼塊中所有的命令和變數均會在遠端電腦上運行。如果使用者採用類似於-ScriptBlock {Get-Process –Name $procName},PowerShell認為遠端電腦線程中$procName變數已經定義過了。使用者能通過使用Invoke-Command命令,將本機電腦上的變數傳遞到遠程線程。

2.2 傳遞變數到遠程線程

前面的例子中,使用者可以傳遞要尋找的進程名作為變數。ArgumentList參數能協助使用者傳遞到遠程線程中:

$procName = "powershell"

Invoke-Command -ComputerName (get-content c:\scripts\servers.txt) ` -ScriptBlock {param ($Name) Get-Process -Name $Name} –ArgumentList $procName

上面的例子中可以顯示如何使用-ArgumentList參數傳遞本地變數到遠程線程。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.