使用 Powershell WebAdministration 复制正在运行的 IIS 应用程序池
我正在尝试使用 Powershell WebAdministration 模块复制现有的 IIS 7.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.
如果我停止池,或启动应用程序池并且不加载应用程序,则复制命令会成功。
除了逐一复制属性之外,有没有办法复制/克隆正在运行且已加载的应用程序池?
I am trying to copy an existing IIS 7.5 app pool using the Powershell WebAdministration module without stopping the application.
When I copy the app pool, with an application running and loaded, I receive a NullReferenceException.
$pool = 'app1-0'
$newpool = 'app1-1'
cp "iis:/apppools/$pool" "iis:/apppools/$newpool" -force
Output:
Copy-Item : Object reference not set to an instance of an object.
If I stop the pool, or start the app pool and do not load the application, the copy command succeeds.
Short of copying the properties one by one, is there a way to copy/clone a running, and loaded, app pool?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您是否尝试过使用 appcmd 来代替?
更新:尝试将两者结合起来 -
也许 add 不允许您同时导入和指定命令。你可以尝试这样的事情:
你可能需要稍微调试一下该脚本:)
Have you tried using appcmd instead?
Update: try a combination of both -
Maybe add doesn't let you both import and specify commands. You could try something like this:
You may have to debug that script a bit :)
要导出应用程序池,请使用 %windir%\system32\inetsrv\appcmd list apppool "AppPoolName" /config /xml > D:\AppPoolConfig.xml
如果没有 /config,您将丢失应用程序池中的所有设置,并且当您导入时,您只会使用默认应用程序池设置创建一个新的应用程序池。
To export the application pool use %windir%\system32\inetsrv\appcmd list apppool "AppPoolName" /config /xml > D:\AppPoolConfig.xml
Without the /config you're missing all of the settings within the application pool and when you go to import that you're only going to create a new application pool with default application pool settings.