powershell安装配置iis分三步:一、用install-windowsfeature或enable-windowsoptionalfeature启用web-server等核心功能;二、启动w3svc服务并测试80端口;三、导入webadministration模块后新建应用池与网站。
直接用 powershell 脚本安装并配置 iis,关键在于两步:准确启用所需功能、按需完成基础服务与站点设置。图形界面点选容易漏项,而脚本可复用、可验证、可集成到部署流程中。
一、安装完整 IIS 功能(含管理工具)
Windows 11/Server 系统内置 Install-WindowsFeature(Server)或 Enable-WindowsOptionalFeature(Win11),推荐使用前者(Server)或统一用后者(兼容桌面版)。以下命令以管理员身份运行即可一次性装全核心模块:
-
Win11 或 Windows Server(通用):
Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerRole,IIS-WebServer,IIS-CommonHttpFeatures,IIS-HttpErrors,IIS-HealthAndDiagnostics,IIS-Performance,IIS-Security,IIS-WebServerManagementTools,IIS-ManagementConsole,IIS-ApplicationDevelopment,IIS-StaticContent,IIS-DefaultDocument,IIS-DirectoryBrowsing -All -NoRestart -
仅限 Windows Server(更简洁):
Install-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Scripting-Tools,NET-Framework-Features -IncludeAllSubFeature -IncludeManagementTools
执行后检查输出是否全部显示 State: Enabled;若提示需重启,建议手动执行 Restart-Computer -Force 或后续再重启。
二、启动服务并验证基础可用性
IIS 安装不等于服务已运行。必须确保核心服务启动,并能响应本地请求:
- 启动 World Wide Web Publishing Service:
Start-Service W3SVC - 确认服务状态为 Running:
Get-Service W3SVC | Select-Object Status, Name - 测试默认站点是否监听 80 端口:
Test-NetConnection localhost -Port 80(返回 True 表示端口就绪) - 可选:快速写入欢迎页验证浏览器访问:
Add-Content -Path "$env:SystemDrive\inetpub\wwwroot\index.htm" -Value "<h1>IIS is running on $(hostname)</h1>"
三、自动创建网站与应用池(进阶配置)
若需跳过 IIS 管理器操作,直接部署自定义网站,需加载 IIS 模块并调用 cmdlet:
- 导入 IIS 管理模块(首次运行可能需手动注册):
Import-Module WebAdministration - 新建应用池(.NET CLR 版本可按需指定):
New-Item IIS:\AppPools\MyAppPoolSet-ItemProperty IIS:\AppPools\MyAppPool -Name "managedRuntimeVersion" -Value "v4.0" - 新建网站,绑定到物理路径和端口:
New-Website -Name "MySite" -Port 8080 -PhysicalPath "C:\MyWeb" -ApplicationPool "MyAppPool" - 启用目录浏览(如需):
Set-WebConfigurationProperty -Filter "/system.webServer/directoryBrowse" -Name "enabled" -Value "True" -PSPath "IIS:\Sites\MySite"
四、保存为可重用脚本的注意事项
把以上逻辑写成 .ps1 文件时,注意三点:
- 执行策略限制:首次运行前需设为允许脚本,例如:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser - 权限要求:必须“以管理员身份运行”PowerShell,否则功能启用和服务操作会失败
- 路径与依赖:如目标文件夹不存在(如
C:\MyWeb),需提前New-Item -ItemType Directory;若启用 ASP.NET,还需额外安装IIS-ASPNET45等功能











