使用 Powershell WebAdministration 复制正在运行的 IIS 应用程序池

发布于 2024-12-12 05:11:36 字数 444 浏览 0 评论 0原文

我正在尝试使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

下雨或天晴 2024-12-19 05:11:36

您是否尝试过使用 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

你可能需要稍微调试一下该脚本:)

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:

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

You may have to debug that script a bit :)

红衣飘飘貌似仙 2024-12-19 05:11:36

要导出应用程序池,请使用 %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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文