2017-09-15 118 views
0

我试图创建一个PowerShell脚本来创建使用IIS 7或8的应用程序池和虚拟目录(不知道我拥有哪一个,我正在使用Windows Server 2012 R2)如何在PowerShell中为IIS创建应用程序池和虚拟目录

反正这里是我用来创建一个名为的.Net 2.0

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

一个应用程序池的代码,但我得到一个错误,说明

PS IIS :\ Sites>导入模块Web管理New-Item -Path IIS:\ AppPools.Net v2.0未定义的对象类型.Net。参数名称: nodeName在行:2 char:1 + New-Item -Path IIS:\ AppPools.Net v2.0 + ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~ + CategoryInfo:InvalidOperation:(:) [],ArgumentException的 + FullyQualifiedErrorId:NewItemDynamicParametersProviderException

我觉得这可能是因为在网络和2.0版之间的空间

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

谢谢!

编辑 我能够通过使用

[system.reflection.assembly]::Loadwithpartialname("Microsoft.Web.Administration") 
$servermgr = New-Object Microsoft.web.administration.servermanager 
$servermgr.ApplicationPools.Add(".NETExample") 
$servermgr.CommitChanges()  
+0

试用引号'New-Item -Path'IIS:\ AppPools \ .Net v2.0'' PowerShell会假定参数值是字符串,所以为方便起见,您经常可以不用引号而离开,但如果必须有在它的空间,使用报价。 – TessellatingHeckler

+0

谢谢,我实际上使用了不同的代码。我继续并在**编辑**上面公布了上述解决方案。 –

回答

0

运行第一Import-Module WebAdministration,这将让你在IIS创建路径来解决这个问题:\

然后:

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

cd IIS:\AppPools\ 

New-Item $iisAppPoolName 

检查这个站点:Create IIS App Pool

+0

当我运行它时,出现此错误 未定义的对象类型.Net v2.0。 参数名称:nodeName 在行:9 char:1 + New-Item $ iisAppPoolName + ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidOperation:(:) [],ArgumentException的 + FullyQualifiedErrorId:NewItemDynamicParametersProviderException –

+0

Let's尝试以下操作: 首先导入模块: '导入模块WebAdministration' 然后, 'GET-ChildItem IIS:\站点“并粘贴输出。 – imjoseangel

+0

PS IIS:\ Sites \> Get-ChildItem IIS:\ Sites 名称ID状态物理路径绑定 –

相关问题