作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 IIS Powershell 管理单元从头开始配置新的 Web 应用程序。我是PS新手。以下脚本将不起作用,因为 PS 无法识别 ManagedPipelineMode 枚举。如果我将值更改为 0,它将起作用。我怎样才能让 PS 理解 enum.我尝试了 Add-Type cmdlet 并加载了 Microsoft.Web.Administration 程序集,但没有成功,这些行现在已被注释。
如何让这个 PS 脚本与枚举一起使用?
#Add-Type -AssemblyName Microsoft.Web.Administration
#[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Web.Administration")
Import-Module WebAdministration
$AppPoolName = 'Test AppPool'
if ((Test-Path IIS:\apppools\$AppPoolName) -eq $false) {
Write-Output 'Creating new app pool ...'
New-WebAppPool -Name $AppPoolName
$AppPool = Get-ChildItem iis:\apppools | where { $_.Name -eq $AppPoolName}
$AppPool.Stop()
$AppPool | Set-ItemProperty -Name "managedRuntimeVersion" -Value "v4.0"
$AppPool | Set-ItemProperty -Name "managedPipelineMode" -Value [Microsoft.Web.Administration.ManagedPipelineMode]::Integrated
$AppPool.Start()
}
错误信息是:
Set-ItemProperty : [Microsoft.Web.Administration.ManagedPipelineMode]::Integrated is not a valid value for Int32.
最佳答案
它需要一个整数,即使底层属性的类型是ManagaedPipelineMode
。不过,您可以执行以下操作:
$AppPool | Set-ItemProperty -Name "managedPipelineMode" -Value ([int] [Microsoft.Web.Administration.ManagedPipelineMode]::Classic)
PS:
而不是
$AppPool = Get-ChildItem iis:\apppools | where { $_.Name -eq $AppPoolName}
你可以这样做:
$AppPool = Get-Item iis:\apppools\$AppPoolName
关于iis-7 - 使用 powershell 管理单元配置 IIS 时如何在 powershell 中使用枚举类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7988306/
我是一名优秀的程序员,十分优秀!