拒绝访问:如何创建Powershell脚本,该脚本从Visual Studio生成事件后的命令行部署IIS网站

时间:2018-08-15 13:25:18

标签: visual-studio powershell iis

我试图使用Visual Studio生成后事件命令行在Powershell脚本中使用Web管理模块来部署少数IIS网站和应用程序池。当我在不使用Web管理模块的情况下运行脚本时,脚本会成功执行,但是如果包含脚本,则会出现拒绝访问错误。

  1. 我有Visual Studio以管理员身份运行
  2. 我尝试了各种设置执行策略的方式,但是现在这就是我所拥有的(我尝试运行32位和64位版本的Powershell):

    cd $(ProjectDir)
    C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -NoProfile -NonInteractive -File "SetupLocalEnvironment.ps1" 2> nul
    

在我的研究开始无成果的时候,需要一些帮助。谢谢!

这是powershell脚本:

Import-Module WebAdministration

$FNMAWorkSpaceDirectory = "x"

# Do not edit below 

Remove-Website -Name EDI
Remove-Website -Name WebAPI
Remove-WebAppPool -Name EDIAppPool
Remove-WebAppPool -Name WebAPIAppPool

New-WebAppPool EDIAppPool
New-WebSite -Name EDI -Port 124 -PhysicalPath "thePath" -ApplicationPool "thePool"
New-WebBinding -Name "EDI" -Protocol "https" -IPAddress "*" -Port 125

New-WebAppPool WebAPIAppPool
New-WebSite -Name WebAPI -Port 123 -PhysicalPath "thePath" -ApplicationPool "WebAPIAppPool"


Set-Location Cert:\LocalMachine\My
$certHash = (Get-ChildItem -DnsName "theCertName").Thumbprint


$guid = [guid]::NewGuid()
$Command = "http add sslcert ipport=0.0.0.0:125 certhash=$certHash appid={$guid}"
$Command | netsh

exit

0 个答案:

没有答案