我今天在PowerShell上尝试使用WCF Web服务的开发安装。我使用的是在Windows Server 2012和IIS 8.5.96上执行的PowerShell脚本。
首先我手动设置服务,只是为了确保一切正常,我新增了我需要在脚本中包含的设置。然后我删除了应用程序池,网站和文件夹目录。
我已经运行了脚本,但它运行正常,但每次运行时,它都会使用我手动创建服务时使用的Identity
来设置应用程序池。
下面是我到目前为止的脚本。您可以看到我没有在任何地方指定应用程序池标识,因此我认为它必须存储在计算机上的某个位置。但是我没有找到任何运气(I&#39 ;已经对C
和D
驱动器进行了搜索,这是此服务器上唯一的两个分区。
有什么想法/想法吗? #load IIS模块 导入模块Web管理 Add-WindowsFeature Web-Scripting-Tools
#variables
$okeeffename = "OKeeffe"
$domain = "InsideServices.dev.com"
$okeeffeapppoolname = "OKeeffeApplicationPool"
$okeeffeiis = "IIS:\AppPools\$okeeffeapppoolname"
$logpath = "D:\SystemLogFiles\LogFiles"
$domainpath = "d:\webcontent\$domain"
$okeeffedirectory = "d:\webcontent\$domain\$okeeffename"
$okeeffestagingpath = "\\prdhilfs02\install\Monet\ServerUpgrade\DEVHILWB119\OKeeffe"
#create webcontent and application folders
Write-Host "Creating directories" -ForegroundColor Yellow
New-Item -Path $domainpath -type directory -ErrorAction Stop
New-Item -Path $okeeffedirectory -type directory -ErrorAction Stop
#create log folder, if it doesn't exist
if(-not (Test-Path -path $logpath))
{
New-Item -Path $logpath -type directory
}
#create app pool
if(-not (Test-Path -path $okeeffeiis))
{
#Write-Host "Creating app pool: $okeeffeapppoolname" -ForegroundColor Yellow
New-WebAppPool $okeeffeapppoolname -force -ErrorAction Stop
set runtime version
Set-ItemProperty "IIS:\AppPools\$okeeffeapppoolname" managedRuntimeVersion v4.0
}
答案 0 :(得分:1)
我不确定是什么原因导致使用以前的标识创建AppPool,但也许你可以尝试立即设置New-WebAppPool返回的ConfigurationElement对象的一些属性:
# Get reference to ConfigurationElement for AppPool...
$pool = New-WebAppPool $okeeffeapppoolname -force -ErrorAction Stop
$pool.processModel.identityType = "SpecificUser"
$pool.processModel.username = 'domain\username'
$pool.processModel.password = 'password'
$pool | Set-Item
参考:http://forums.iis.net/t/1171615.aspx?How+to+configure+application+pool+identity+from+powershell+