Windows Server 2012通過PowerShell命令安裝IIS8.0全功能詳細(xì)教程
[重要通告]如您遇疑難雜癥,本站支持知識付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
昨天中午來了一個(gè)客戶,說他的Windows Server 2012系統(tǒng)不能安裝IIS,問客戶有啥錯(cuò)誤,客戶說無任何的錯(cuò)誤提示,這就很尷尬了,我說我來試試,我嘗試了幾遍,也確實(shí)沒有任何的錯(cuò)誤,任何的日志信息也沒有,還真是牛逼了,你說沒有錯(cuò)誤,瞅瞅下面,還是有一段錯(cuò)誤,那是啥鬼錯(cuò)誤呢?“你可以關(guān)閉此向?qū)Ф恢袛嗾谧C行的任務(wù),請依次單擊命會欄中的通知和任務(wù)詳信息”這是啥鬼錯(cuò)誤提示,毛線用也沒有;具體如下圖;
琢磨了一下,Windows Server 2012系統(tǒng)是有PowerShell的,那用PowerShell是否可以搞定IIS8.0呢,說動就動,我們就來操作下;操作之前我們先來說說啥是PowerShell;
什么是PowerShell?
PowerShell是微軟公司開發(fā)的一種命令行腳本環(huán)境,通過PowerShell可以使用簡單的腳本完成很多復(fù)雜的操作,特別適合服務(wù)器操作系統(tǒng)的管理。除了可以用常規(guī)的圖形界面方法來安裝IIS 8.0之外,PowerShell也提供了一套簡便快速的安裝方法。
PowerShell安裝IIS8.0步驟如下:
1、首先,我們點(diǎn)擊系統(tǒng)左下角的PowerShell圖標(biāo),進(jìn)入命令行環(huán)境,如下圖;
2、接下來,我們鍵入一行腳本來查看IIS是否安裝過。 get-windowsfeature web* 命令的含義通俗易懂,就是獲取以web開頭的系統(tǒng)安裝包,因?yàn)镮IS的安裝包就是全部以web開頭的。運(yùn)行結(jié)果如下。
我們注意到,這些安裝包前面的方框沒有任何標(biāo)記,說明這些組件都尚未安裝。下面我們開始執(zhí)行IIS的安裝腳本。
3、鍵入以下PowerShell腳本開始執(zhí)行IIS 8.0的安裝。
install-windowsfeature web-server
web-server就是上圖中的第一項(xiàng)名稱,也就是Web服務(wù)器(IIS)這個(gè)角色。注意PowerShell腳本是不區(qū)分大小寫的,所以我這里為了方便起見,全部使用了小寫字母的命令。安裝后提示 Success 就是安裝成功;
4、然后再用get-windowsfeature web*查看下是否安裝成功了。
參照以上的圖,我們可以看到,只是安裝了部分,并沒有全部安裝,其實(shí)很多時(shí)候我們一定要安裝全部的IIS功能,不全部安裝的話,總會有這樣那樣的問題;我們還是要全部安裝,那如何全部安裝呢?只需要一些代碼即可,具體如下;
$features = get-windowsfeature web-* foreach($item in $features) { if($item.installed -eq $false) { Write-Host "安裝:$item.displayname" $item | add-windowsfeature } } function RegisterAndEnableIsapi { $isapiPath ="$env:windir\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" $isapiConfiguration = get-webconfiguration "/system.webServer/security/isapiCgiRestriction/add[@path='$isapiPath']/@allowed" if($null -eq $isapiConfiguration) { Write-Host "IIS尚未注冊aspnet_isapi.dll" $tmpPath="" $tmpPath = "$env:windir\Microsoft.NET\Framework\v4.0.30319\" set-location $tmpPath .\aspnet_regiis.exe -i $isapiConfiguration = get-webconfiguration "/system.webServer/security/isapiCgiRestriction/add[@path='$isapiPath']/@allowed" } if($isapiConfiguration.Value -eq $false) { Write-Host "IIS已經(jīng)注冊過aspnet_isapi.dll,但未啟用" set-webconfiguration "/system.webServer/security/isapiCgiRestriction/add[@path='$isapiPath']/@allowed" -value true if(Is64Bit) { set-webconfiguration "/system.webServer/security/isapiCgiRestriction/add[@path='$env:windir\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll']/@allowed" -value true } Write-Host "isapi已啟用" } else { Write-Host "IIS已經(jīng)注冊過aspnet_isapi.dll,且已啟用" } } RegisterAndEnableIsapi
以上命令執(zhí)行的時(shí)候,我們會看到過程,具體過程看如下圖解;
以上圖,就是說嘛整個(gè)過程安裝完成了,我們再來用命令看看安裝是否完整;依然鍵入命令 get-windowsfeature web* 來查看,具體圖如下;其實(shí)我們根據(jù)下圖來看,已經(jīng)全部完成安裝;
剛才用命令查看了了是否安裝成功以及全,依然進(jìn)入我們圖形化安裝界面看下,根據(jù)下圖我們依然可以看出,安裝非常完整,很是OK~~棒!
延伸閱讀:PowerShell安裝IIS服務(wù)器各種命令
安裝IIS服務(wù)器
install-windowsfeature web-server
安裝.NET應(yīng)用程序開發(fā)
install-windowsfeature web-asp,web-asp-net,web-asp-net45
安裝IIS管理控制臺
install-windowsfeature web-mgmt-console
檢查有沒有安裝成功
get-windowsfeature web*
終極打包安裝
install-windowsfeature web-server,web-asp,web-asp-net,web-asp-net45,web-mgmt-console
安裝FTP相關(guān)? ? FTP服務(wù)分為服務(wù)和拓展
安裝FTP服務(wù)器
install-windowsfeature web-ftp-server
安裝FTP服務(wù)
install-windowsfeature web-ftp-service
安裝FTP拓展
install-windowsfeature web-ftp-ext
檢查有沒有安裝成功
1get-windowsfeature web*
終極打包安裝
install-windowsfeature web-ftp-server,web-ftp-service,web-ftp-ext
寫在最后:
使用PowerShell安裝windows功能組件比直接鼠標(biāo)點(diǎn)擊的速度快,命令行輸入后就可以掛機(jī),等待安裝成功即可;
問題未解決?付費(fèi)解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!