利用PowerShell安裝IIS或啟用IIS的方法
[重要通告]如您遇疑難雜癥,本站支持知識付費業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時間哦!
我們在做一些開發(fā)的時候,測試環(huán)境中經(jīng)常需要用到iis,每次通過圖形界面啟用IIS以及相關(guān)組件得勾選很多東西,感覺繁瑣而且又麻煩,如閣下正好用的是2012或者win8甚至以上,Windows server 2012 R2和Windows 8.1操作系統(tǒng)上,使用PowerShell一行命令即可哦。具體指令請參閱下面:
Windows Server 2012
Install-WindowsFeature web-server -IncludeAllSubFeature |
Windows 8.1
Enable-WindowsOptionalFeature –online –featurename IIS-WebServerRole |
==================華麗分割線====================================
我們也可以用VBS啟動PowerShell來安裝IIS,具體代碼如下:
# eastmoney
public
tools# version: v1.0.2# create by XuHoo, 2016-9-27#
try
{
Import-Module ServerManager -ErrorAction Stop
Import-Module BitsTransfer -ErrorAction Stop
}
catch
{
Write-Warning
"$_"
;
exit
}
$packages_path
=
"D:\software"
?# Packages storage directoryfunction Download() {???
$isExists
= Test-Path
$packages_path
if
(!
$isExists
) {
New-Item -ItemType Directory
$packages_path
}??? # instantiate a socket object,
# Try connect to download the source
$testConn
= New-Object Net.Sockets.TcpClient???
$testConn
.Connect(
"$address"
, 80)? #
$address
need to custom
if
(
$testConn
) {
Start-BitsTransfer
$address
/dotnet4.0.exe
$packages_path
Start-BitsTransfer
$address
/dotnet4.5.exe
$packages_path
return
$true
}
else
{???????
return
$false
}
}
function
CheckVersion {??? # To detect the .NET Framework whether exists in the registry
$isExists
= Test-Path "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\"
if
(!
$isExists
) {???????
return
$false
}
else
{??????? # Returns the current .NET Framework version
$version
= gci
"HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP"
| sort pschildname -desc | select -fi 1 -
exp
pschildname???????
return
$version
}
}
function
Update {
Add-WindowsFeature As-Net-Framework? # Update .NET Framework 3.5
# The first cycle:
#?? Perfrom CheckVersion
function
, returns the value assigned to
$response
#?? If
$response
< 4.0, start install dotnet 4.0
and
dotnet 4.5
#?? Enter the second loop
# The second cycle:
#?? Again to perfrom CheckVersion
function
#?? If the installation is successful,
#?? the value of variable
$response
at this time will be greater than 4.0,
#?? the output corrent .NET Framework version
and
returns
$true
for
(
$i
=0;
$i
-lt 2;
$i
++) {???????
$response
= CheckVersion???????
if
(
$response
-lt
"v4.0"
) {
Start-Process -Wait
$packages_path
\dotnet4.0.exe -ArgumentList
"/quiet"
Start-Process -Wait
$packages_path
\dotnet4.5.exe -ArgumentList
"/quiet"
}
else
{
Write-Host
"DotNET current version is: $response"
return
$true
}
}??? # Above cycle without entering the
return
statement,
# then .NET Framework update failed, this
function
will
return
the
$false
return
$false
}
function
Install {???
$features
= Get-WindowsFeature Web-Server,Web-Static-Content,Web-Default-Doc,Web-Http-Errors,Web-Http-Redirect,Web-Asp-Net,Web-Net-Ext,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Http-Logging,Web-Request-Monitor,Web-Filtering,Web-IP-Security,Web-Stat-Compression,Web-Mgmt-Console,Web-WHC??? # Install IIS features
foreach
(
$item
in
$features
) {
Add-WindowsFeature
$item
}
Remove-WindowsFeature Web-Dir-Browsing? #
Delete
"Web-Dir-Browsing"
function
}
function
Registry {???
$is64bit
= [IntPtr]::Size -eq 8? # To determine whether a system is 64-bit
$isapiPath_32
=
"$env:windir\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll"
Set-Location
"$env:windir\Microsoft.NET\Framework\v4.0.30319\"; .\aspnet_regiis.exe -i??? if($is64bit) {??????? $isapiPath_64 = "
$env
:windir\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll"
Set-Location "
$env
:windir\Microsoft.NET\Framework64\v4.0.30319\"; .\aspnet_regiis.exe -i
}
}
try
{???
$chkGet_result
= Download???
$chkUp_result
= Update???
if
(
$chkUp_result
) {
Install; Registry
}
else
{
Write-Warning
"Update .NET Framework error."
}
}
catch
{
Write-Warning
"$_"
;
exit
}finally {
Remove-Item
$packages_path
-Recurse
Remove-Item
$MyInvocation
.MyCommand.Path -Force
}
以上功能描述
1. 連接軟件源服務(wù)器下載.NET Framework 4.0、.NET Framework 4.5。
2. 檢測并判斷當前.NET Framework版本是否小于v4.0,如果小于則進行升級。
3.?安裝IIS組件,安裝完成后刪除軟件及腳本。
在升級.NET Framework時,是先從3.5升級(可以通過執(zhí)行命令"Add-WindowsFeature As-Net-Framework"直接安裝3.5),然后依次升級4.0、4.5。
===================華麗分割線====================================
通過PowerShell選擇選項安裝IIS 8.0
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!