2017-01-18 17 views
1
私は、スクリプトで次のコマンドを実行している

のオブジェクトに設定されていないオブジェクト:私はウェブサイトのIDを設定したいPowerShellのセットアイテムのリターンは、参照は、インスタンス

$currentSite = Get-Item IIS:\Sites\$WebSiteName 
$currentSite.id = $WebSiteID 
$currentSite | Set-Item 

。 このスクリプトはいくつかの環境で動作し、他の環境では動作しません(間もなく投稿したいものを探しています)。

それが次のエラーを返し動作しません

$currentSite = Get-Item IIS:\Sites\$WebSiteName 
$currentSite | Set-Item 

しかし、私は同じエラーを取得:私は、次のコードを試してみました回避策を探して、だから、

Set-Item : Object reference not set to an instance of an object. 
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : InvalidArgument: (:) [Set-Item], NullReferenceException 
    + FullyQualifiedErrorId : path,Microsoft.PowerShell.Commands.SetItemCommand 

を。

Set-Itemが必要とするいくつかのパラメータがありますが、Get-Itemがサイトで動作するときに返されないのだろうかと思います。アプリケーションプールを設定するのと同じ構造を使用しています。ウェブサイトのIDを設定する代わりに使用

$currentSite = Get-Item IIS:\Sites\$WebSiteName 
$currentSite.id = $WebSiteID 
$currentSite | Set-Item 

:これは質問に答えていない場合であっても)

+0

'$ currentSite |あなたがエラーを取得したときにgm'が戻りますか? – LotPings

+0

'TypeName:System.Object'また、リストも必要ですか? –

+0

'if($ currentSite -ne $ null){Write-Host currentSiteがnullではありません! } '' Set-Item'呼び出しの前に。このエラーから、 'path'はヌルであるか、ヌルでない場合、どこにも指していないようです。このため、 'Set-Item -path IIS:\ Sites \ $ WebSiteName-value $ currentSite'のような、他の' Set-Item'構文で試してみるべきです。 –

答えて

1

を任意の問題を得ることはありません、私はこの問題の回避策を見つけました次のコマンドを使用できます:

Set-ItemProperty -Path IIS:\Sites\$WebSiteName -Name id -Value $WebSiteID 
関連する問題