【问题标题】:Powershell script for web deploy package to IIS server (Remote)用于将包部署到 IIS 服务器的 Powershell 脚本(远程)
【发布时间】:2014-01-24 19:44:17
【问题描述】:
我是一名开发人员,但我没有部署软件包的权限。如果我向网络管理员提供power shell script 和Web deployment package (.zip),他会将其部署到服务器。
Power shell 需要询问path to deploy(IIS 网站路径)。该脚本必须提取 WDP,将其解压缩并部署到 IIS 服务器上的给定路径。
Example: ExampleMVC.zip (WDP)
path: \\iisprod1\inetpub\wwwroot\iapps
现在我想将此包部署到该路径。我们该怎么做?
【问题讨论】:
标签:
asp.net
visual-studio-2010
iis
powershell
【解决方案1】:
ZIP 部署包通常附带一个 .cmd 文件(以及一些 xml 文件),应使用 /Y 参数运行该文件,以便在当前计算机的 IIS Web 服务器上部署该包。如果要更改 Web 应用程序路径,请在 Visual Studio 中构建 ZIP 包时进行。
【解决方案2】:
只使用批处理脚本会更容易。我会将您要部署的路径添加到单独的文件中。可以这样做:
@echo off
set "scriptPath=/where/the/files/are"
for /F %%a IN (deployment-list.txt) DO (
REM Will prompt for password and set T: (temp) drive to path
net use T: \\%%a /u:administrator *
copy %scriptPath%\ExampleMVC.zip t:\
net use t: /d
)
或者只有一条路径,没有循环:
REM Will prompt for password and set T: (temp) drive to path
net use T: \\iisprod1\inetpub\wwwroot\iapps /u:administrator *
copy \path\to\file\ExampleMVC.zip t:\
net use t: /d
此外,如果您想要提取的内容,只需先提取它,然后将内容复制过来,或者像这样:
REM Will prompt for password and set T: (temp) drive to path
net use T: \\iisprod1\inetpub\wwwroot\iapps /u:administrator *
copy \path\to\file\ExampleMVC\* t:\
net use t: /d