我正在尝试使用Powershell WebAdministration模块复制现有的IIS7.5应用程序池,而不停止应用程序。
当我复制应用程序池时,当应用程序正在运行并加载时,我会收到一个NullReferenceException。
$pool = 'app1-0'
$newpool = 'app1-1'
cp "iis:/apppools/$pool" "iis:/apppools/$newpool" -force输出:
Copy-Item : Object reference not set to an instance of an object.如果我停止池,或启动应用程序池但未加载应用程序,则复制命令成功。
除了逐个复制属性之外,有没有一种方法可以复制/克隆正在运行并已加载的应用程序池?
发布于 2011-10-26 22:42:43
您是否尝试过使用appcmd?
更新:尝试两者的组合-
也许add不能让你同时导入和指定命令。您可以尝试如下所示:
appcmd list appool thing1 /xml > c:\tempfile.xml
(Get-Content c:\tempfile.xml).Replace("thing1", "thing2") | Out-File c:\tempfile2.xml
appcmd add apppool /in < c:\tempfile2.xml您可能需要对该脚本进行一些调试:)
发布于 2013-06-28 23:56:40
要导出应用程序池,请使用%windir%\system32\inetsrv\appcmd list apppool "AppPoolName“/config /xml > D:\AppPoolConfig.xml
如果没有/config,您将丢失应用程序池中的所有设置,并且当您导入时,您只会使用默认的应用程序池设置创建一个新的应用程序池。
https://stackoverflow.com/questions/7879820
复制相似问题