2011-10-24 10 views
4

アプリケーションを停止せずにPowershell WebAdministrationモジュールを使用して既存のIIS 7.5アプリケーションプールをコピーしようとしています。Powershell WebAdministrationでIISアプリケーションプールを実行するコピー

アプリケーションプールをコピーして、アプリケーションを実行してロードすると、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. 

、コピーコマンドは成功します。

プロパティが1つずつコピーされていない場合、実行中のアプリケーションプールをコピー/クローンする方法はありますか?

答えて

3

代わりにappcmdを使用してみましたか?

更新:両方の組み合わせを試してみてください -

たぶん、あなたは両方のインポートを聞かせするコマンドを指定していない追加します。あなたはそのスクリプトを少しデバッグする必要があり

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 

:)

+0

私はappcmdでアプリケーションプールを作成できますが、appcmdを使用して既存のプールから設定をコピーする方法はわかりません。 – Jared314

+0

appcmd listコマンドを使用して必要なものだけを取得し、/ xmlを使用してxmlにエクスポートします。次に、コマンドの最後にadd | appcmd apppool/inを追加 - http://blogs.iis.net/ksingla/archive/2007/06/17/things-you-can-do-by-piping-appcmd-commands.aspx 上記はこのコンセプトのすばらしいリンクと非常にpowershell-like –

+0

私のテストマシンでは、Apppoolが作成されましたが、他のプールの設定はコピーされませんでした。コマンド:appcmd list APPPOOL "thing1"/xml | appcmd add APPPOOL/name: "thing2"/in – Jared314

1

/アプリケーションプール使用の%windir%\ system32 \ inetsrvに\ APPCMDリストのAppPool "AppPoolName" をエクスポートするには:あなたはこのような何かを試みることができますconfig/xml> D:\ AppPoolConfig.xml

/configが指定されていないと、アプリケーションプール内のすべての設定が欠落しています。インポートすると、デフォルトで新しいアプリケーションプールが作成されますアプリケーションプールの設定。

関連する問題