IIS应用程序池在使用PowerShell脚本时回收标识

时间:2015-01-30 22:00:19

标签: wcf powershell iis windows-server-2012 windows-server-2012-r2

我今天在PowerShell上尝试使用WCF Web服务的开发安装。我使用的是在Windows Server 2012和IIS 8.5.96上执行的PowerShell脚本。

首先我手动设置服务,只是为了确保一切正常,我新增了我需要在脚本中包含的设置。然后我删除了应用程序池,网站和文件夹目录。

我已经运行了脚本,但它运行正常,但每次运行时,它都会使用我手动创建服务时使用的Identity来设置应用程序池。

下面是我到目前为止的脚本。您可以看到我没有在任何地方指定应用程序池标识,因此我认为它必须存储在计算机上的某个位置。但是我没有找到任何运气(I&#39 ;已经对CD驱动器进行了搜索,这是此服务器上唯一的两个分区。

有什么想法/想法吗?     #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
}

1 个答案:

答案 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+