利用PowerShell安装IIS或启用IIS的方法
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
我们在做一些开发的时候,测试环境中经常需要用到iis,每次通过图形界面启用IIS以及相关组件得勾选很多东西,感觉繁琐而且又麻烦,如阁下正好用的是2012或者win8甚至以上,Windows server 2012 R2和Windows 8.1操作系统上,使用PowerShell一行命令即可哦。具体指令请参阅下面:
Windows Server 2012
Install-WindowsFeature web-server -IncludeAllSubFeature |
Windows 8.1
Enable-WindowsOptionalFeature –online –featurename IIS-WebServerRole |
==================华丽分割线====================================
我们也可以用VBS启动PowerShell来安装IIS,具体代码如下:
# eastmoneypublictools# 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) #$addressneed 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
}
}functionCheckVersion { # 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 -exppschildnamereturn$version
}
}functionUpdate {
Add-WindowsFeature As-Net-Framework # Update .NET Framework 3.5
# The first cycle:
# Perfrom CheckVersionfunction, returns the value assigned to$response
# If$response< 4.0, start install dotnet 4.0anddotnet 4.5
# Enter the second loop
# The second cycle:
# Again to perfrom CheckVersionfunction
# If the installation is successful,
# the value of variable$responseat this time will be greater than 4.0,
# the output corrent .NET Framework versionandreturns$true
for($i=0;$i-lt 2;$i++) {$response= CheckVersionif($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 thereturnstatement,
# then .NET Framework update failed, thisfunctionwillreturnthe$false
return$false}functionInstall {$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($itemin$features) {
Add-WindowsFeature$item
}
Remove-WindowsFeature Web-Dir-Browsing #Delete"Web-Dir-Browsing"function}functionRegistry {$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= Updateif($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. 连接软件源服务器下载.NET Framework 4.0、.NET Framework 4.5。
2. 检测并判断当前.NET Framework版本是否小于v4.0,如果小于则进行升级。
3. 安装IIS组件,安装完成后删除软件及脚本。
在升级.NET Framework时,是先从3.5升级(可以通过执行命令"Add-WindowsFeature As-Net-Framework"直接安装3.5),然后依次升级4.0、4.5。
===================华丽分割线====================================
通过PowerShell选择选项安装IIS 8.0

问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!
支付宝赞助
微信赞助
