通过Powershell创建虚拟目录时指定应用程序池和身份验证

时间:2015-07-06 20:36:53

标签: powershell iis-7

我有一个用于创建虚拟目录的powershell函数:

New-Item $commitpath -PhysicalPath $virtualdirPath -Type VirtualDirectory    

但我需要能够指定一个与父网站使用的不同的身份验证和不同的应用程序池。像这样:

New-Item $commitpath -PhysicalPath $virtualdirPath -Authentication "Anonymous" - AppPool "MyOtherAppPool" -Type VirtualDirectory 

我如何通过脚本执行此操作?

谢谢,

Eric West

1 个答案:

答案 0 :(得分:0)

我建议webadministration module配置IIS。

以下示例创建名为MyNewPool的新应用程序池,其运行方式为Administratoridentitytype 3 = SpecificUser):

Import-Module WebAdministration

$applicationPoolName = 'MyNewPool'
$UserName = 'Administrator'
$Password = '12345'

$applicatonPoolUri = "IIS:\AppPools\$applicationPoolName"
if (-not(Test-Path $applicatonPoolUri)) # check whether the application pool exists
{
    $applicationPool = ni $applicatonPoolUri
    $applicationPool.processModel.username = $UserName
    $applicationPool.processModel.password = $Password
    $applicationPool.processModel.identityType = 3
    $applicationPool | si           
}

创建应用程序池后,您可以使用New-Website cmdlet创建网站并分配池:

New-Website -name 'MyNewWebSite' `
        -port 80
        -ip '*' `
        -PhysicalPath $virtualdirPath `
        -ApplicationPool $applicationPoolName