利用PowerShell快速创建基于IIS的虚拟目录浏览环境
一、使用背景
在网页类应用开发中,常遇到的一个问题就是发布的版本需要在http或https协议下才能正常浏览完整功能,对于开发人员来说,这个功能往往由IDE集成于其中,可以轻松地快速查看完整版本,但是将编译的文件包发给协同人员检查时,对方确未必会有编译环境,这个时候我们通常有两种解决方案:
- 用netbox之类绿色轻量的Web应用搭建工具建一个临时的本地服务器,将其放到文件包的根目录以便服务启动便可直接打开首页。
- 搭建一个中间服务器,专门用于放置项目预览包,这样做的好处是有一个固定的浏览地址可供查看,但每次需要开发人员将制作好的文件包传至中间服务器并告诉协同人员具体的访问路径(路径深度和名称不一样)。
今天我们尝试用一种新方式来实现本地快速浏览完整功能,它的原理也是基于上述第二种方案,不过使用脚本自动化的方式快速完成本地服务器的配置,而且也不需要往文件包中拷贝第三方应用程序便可实现此功能。
二、准备工作
2.1 测试环境:
- Windows操作系统电脑(Windows 10或以上版本)
2.2 系统组件需求:
- IIS(Internet Information Services)组件,安装基本应用功能及脚本管理功能
Win10以上操作系统可随时通过控制面板中的『程序和功能 ⇒ 启用或关闭Windows功能』去安装或卸载相应组件,而且此操作只需要配置一次即可长期使用,因此相对适配成本较低。 - WebAdministration模块
此为Powershell中的网站服务管理模块,一般自带,如无此模块,可用Import-Module WebAdministration来安装它。
三、操作步骤
3.1 手动操作步骤
1️⃣ 网站上右键单击,选择添加虚拟目录


2️⃣ 然后在添加的虚拟目录上右键,将其转化为应用程序




3️⃣ 此时便可在浏览器通过本地服务地址来访问此虚拟目录了。

3.2 自动化脚本实现
通过以上步骤可推测,WebAdministration模块中应有相应操作方法来达成同样目的。
看一下WebAdministration模块下面有哪些功能可供调用:
Get-Module WebAdministration | %{ $_.ExportedCommands }
Key Value
--- -----
Add-WebConfiguration Add-WebConfiguration
Add-WebConfigurationLock Add-WebConfigurationLock
Add-WebConfigurationProperty Add-WebConfigurationProperty
Backup-WebConfiguration Backup-WebConfiguration
Clear-WebCentralCertProvider Clear-WebCentralCertProvider
Clear-WebConfiguration Clear-WebConfiguration
Clear-WebRequestTracingSetting Clear-WebRequestTracingSetting
Clear-WebRequestTracingSettings Clear-WebRequestTracingSettings
ConvertTo-WebApplication ConvertTo-WebApplication
Disable-WebCentralCertProvider Disable-WebCentralCertProvider
Disable-WebGlobalModule Disable-WebGlobalModule
Disable-WebRequestTracing Disable-WebRequestTracing
Enable-WebCentralCertProvider Enable-WebCentralCertProvider
Enable-WebGlobalModule Enable-WebGlobalModule
Enable-WebRequestTracing Enable-WebRequestTracing
Get-WebAppDomain Get-WebAppDomain
Get-WebApplication Get-WebApplication

最低0.47元/天 解锁文章
4597





