如何在Powershell中为IIS创建应用程序池和虚拟目录

问题描述 投票:0回答:2

我正在尝试创建一个 powershell 脚本,用于使用 IIS 7 或 8 创建应用程序池和虚拟目录(不确定我拥有哪一个,我使用的是 Windows Server 2012 R2)

无论如何,这是我用来创建一个名为 .Net v2.0 的应用程序池的代码

Import-Module WebAdministration 
New-Item –Path IIS:\AppPools\.Net v2.0

但是我收到一条错误消息

PS IIS:\Sites> 导入模块 WebAdministration 新项目 – 路径 IIS:\AppPools.Net v2.0 未定义的对象类型 .Net。参数名称: 节点名称 在行:2 字符:1 + 新项目 – 路径 IIS:\AppPools.Net v2.0 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], ArgumentException + FullQualifiedErrorId:NewItemDynamicParametersProviderException

我觉得可能是因为Net和v2.0之间存在空间

此外,这没有物理路径,所以我不确定如何为多个应用程序池创建一个脚本,有些使用 v2.0 和 v4.0,有些使用 Integrated 和 Classic 作为管道,有些使用正在使用物理路径,而有些则不使用。如果有人能指出我正确的方向吗?我不使用网站,只是使用应用程序池和虚拟目录。

谢谢!

编辑 我能够通过使用

解决这个问题
[system.reflection.assembly]::Loadwithpartialname("Microsoft.Web.Administration")
$servermgr = New-Object Microsoft.web.administration.servermanager
$servermgr.ApplicationPools.Add(".NETExample")
$servermgr.CommitChanges()     
powershell iis iis-7 application-pool
2个回答
1
投票

首先运行

Import-Module WebAdministration
,这将允许您在 IIS 下创建路径:\

然后:

$iisAppPoolName = ".Net v2.0"
$iisAppPoolDotNetVersion = "v2.0"
$iisAppName = "Net 2"
$directoryPath = "E:\Net2"

cd IIS:\AppPools\

New-Item $iisAppPoolName

检查此站点:创建 IIS 应用程序池


0
投票

这是使用 PowerShell 7+ 和

IISAdministration
的更现代方法:

  1. 加载模块
Import-Module "IISAdministration"
  1. 创建以下函数
function New-AppPool($appPoolName) {
    $serverManager = Get-IISServerManager
    $appPool = $serverManager.ApplicationPools[$appPoolName]

    if ($null -eq $appPool) {
        $appPool = $serverManager.ApplicationPools.Add($appPoolName)
    }

    $appPool.AutoStart = $true
    $appPool.ManagedPipelineMode = "Integrated"
    $appPool.ManagedRuntimeVersion = "v4.0"
    $appPool.ProcessModel.IdentityType = [Microsoft.Web.Administration.ProcessModelIdentityType]::NetworkService
    $appPool.ProcessModel.IdleTimeout = [TimeSpan]::Zero
    $serverManager.CommitChanges()

    return $appPool
}
  1. 创建应用程序池
New-AppPool -appPoolName $appPoolName
© www.soinside.com 2019 - 2024. All rights reserved.