我正在使用TFS部署网站我有一个批处理脚本,当我拥有硬编码的网站ID时,会加密web.config文件。
问题:我如何获取正在部署的网站的网站ID并将其放入脚本#
我尝试传入应用程序名称,但加密不起作用。它需要网站ID。
我也可以通过调用命令
来查看站点IDappcmd.exe list site SomeSite
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -pe "connectionStrings" -app "/" -site "2"
答案 0 :(得分:0)
对于任何有兴趣的人我已经解决了这个问题,我使用applicationHost.Config文件来搜索网站名称并分配网站使用的ID。
FOR /f "usebackqtokens=1-5delims=<=> " %%a IN ("%WinDir%\System32\Inetsrv\Config\applicationHost.Config") DO (
if "%%a"=="site" if "%%b"=="name" if "%%~c"=="SiteName" set siteid=%%~e
)
echo Website ID = %siteid%
pause
CALL %SystemRoot%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -pe "connectionStrings" -app "/" -site %siteid%
if %errorlevel% neq 0 exit /b %errorlevel%
pause