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