PowerShell是微軟Windows操作系統(tǒng)中一款強大的操作工具。PowerShell的版本隨Windows的發(fā)布而更新,例如最新的Windows Server 2012 R2/Windows 8.1中提供了最新的PowerShell 4.0版本。預(yù)計明年Windows Server新版本將帶來PowerShell 5.0版本。
PowerShell 4.0帶來了很多有助于管理員的新功能,最顯著的是增強了自動化功能。這里筆者分享Mark Minasi在國外網(wǎng)站windowsitpro上發(fā)表的一些PowerShell技巧,這些技巧是作者經(jīng)過多次試驗而得來,專門針對Windows Server 2012、Windows Server 2012 R2以及Windows 8。
讓我們一起來看看PowerShell是如何通過自動化讓W(xué)indows服務(wù)器管理員的生活變得簡單的。
技巧1:建立USB 3.0 Installation Stick
使用到的工具:裝載Windows Server 2012 R2安裝鏡像的USB 3.0U盤,以及由Windows系統(tǒng)映像管理器(WSIM)創(chuàng)建的XML文件。WSIM是一個免費下載的自動化和部署工具包(ADK)。WSIM需要你提前回答幾十個與創(chuàng)建的系統(tǒng)相關(guān)的問題,從產(chǎn)品密鑰到磁盤禁用Internet Explorer(IE)增強的安全配置。
完成這些問題后,WSIM產(chǎn)生名為autounattend.xml的文件。如果你將該文件復(fù)制到U盤安裝的根目錄下,Windows Setup將會讀取并執(zhí)行autounattend.xml中的命令。(如果你覺得通過U盤安裝是一種比較傻瓜的辦法,其實并不是這樣的:Server 2012的Setup支持USB 3.0,而且電量不足的情況下所有的刪除和重建工作只需要3-4分鐘。利用這種方法建立Web服務(wù)器時,一些安裝工作只花了不到一分鐘的時間。)
技巧2:轉(zhuǎn)儲Tunnel Adapters, Tweak IPv6
IPConfig的輸出結(jié)果貌似太多了。粘貼復(fù)制下面這三行命令,你會發(fā)現(xiàn)IPConfig的輸出精簡太多了:
Set-NetTeredoConfiguration -Type Disabled
Set-NetIsatapConfiguration -State Disabled
Set-Net6to4Configuration -State Disabled
如果你用的是IPv6,你的組織使用的是Teredo、Intrasite Automatic Tunnel Addressing Protocol(SATAP)或者6to4技術(shù),那么不用管了。
撤銷的命令,只是取代禁用默認。根據(jù)這些原則,我不是建議你完全禁用IPv6,但是我有很多的客戶和同事做的,所以如果你想去IPv6-less,你可以在任何給定網(wǎng)絡(luò)適配器使用這個命令:
如果想撤銷這些命令,只需要還原禁用默認。不是在建議你完全禁用IPv6,但如果你想這么做的話,可以在任何網(wǎng)絡(luò)適配器上使用下面這條命令:
復(fù)制代碼 代碼如下:
Set-NetAdapterBinding -name NIC name> -DisplayName "Internet Protocol Version 6 (TCP/IPv6)" -Enabled:$false
如果你正在只有一個有線網(wǎng)卡的硬件上創(chuàng)建一臺服務(wù)器,命令如下:
復(fù)制代碼 代碼如下:
Set-NetAdapterBinding -name Ethernet -DisplayName "Internet Protocol Version 6 (TCP/IPv6)" -Enabled:$false
或者,你可以ComponentID跳過冗長的DisplayName值:
復(fù)制代碼 代碼如下:
Set-NetAdapterBinding -name Ethernet -ComponentID ms_tcpip6
網(wǎng)卡的DisplayName和ComponentID值:
復(fù)制代碼 代碼如下:
Get-NetAdapterBinding | select InterfaceAlias,DisplayName,ComponentID | OGV
技巧3:設(shè)置服務(wù)器的TCP/IP和DNS設(shè)置
服務(wù)器需要靜態(tài)IP地址,但設(shè)置起來比較麻煩。使用PowerShell New-NetIPAddress和Set-DNSClientServerAddress cmdlet可以簡化這一過程。雖然有點冗長,但遠比Netsh命令更具可讀性。
New-NetIPAddress如下:
復(fù)制代碼 代碼如下:
New-NetIPAddress -interfacealias NICname> -IPAddress address> -DefaultGateway address> -PrefixLength nn>
eg. New-NetIPAddress -InterfaceAlias Ethernet -IPAddress 10.30.30.8 -DefaultGateway 10.30.30.1 -PrefixLength 24
PrefixLength指子網(wǎng)掩碼中1的數(shù)目。它使用短無類域間路由(IDR)方法來描述一個IPv4子網(wǎng)掩碼,比如255.255.255.0。微軟沒有將-dnsserver選項添加到這個cmdlet,但是有一堆DNS相關(guān)的cmdlet能夠方便為DNS服務(wù)器和DNS客戶端服務(wù)。
不管怎樣,在網(wǎng)卡上設(shè)置一個靜態(tài)的DNS服務(wù)器地址只需要使用Set-DNSClientServerAddress。它只需要知道分配給哪個網(wǎng)卡以及DNS服務(wù)器的IP地址,如
復(fù)制代碼 代碼如下:
Set-DnsClientServerAddress -InterfaceAlias Ethernet -ServerAddresses 10.30.30.7
如果你想恢復(fù)系統(tǒng)并通過DHCP找到DNS服務(wù)器,使用–ResetServerAddresses,如
復(fù)制代碼 代碼如下:
Set-DnsClientServerAddress -InterfaceAlias Ethernet -ResetServerAddresses
您可能感興趣的文章:- Powershell 查詢 Windows 日志的方法
- Powershell 查找用戶的主SMTP地址
- powershell解決win10開始菜單和通知中心無法打開
- Powershell 獲取特定的網(wǎng)頁信息的代碼
- Powershell錯誤處理之what-if
- 揭秘PowerShell 5.0新特性和新功能
- Windows 8 中的 PowerShell 3.0
- PowerShell使用小技巧分享
- 使用PowerShell修改注冊表
- PowerShell用戶認證Function實例代碼