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
の
:これは質問に答えていない場合であっても)
'$ currentSite |あなたがエラーを取得したときにgm'が戻りますか? – LotPings
'TypeName:System.Object'また、リストも必要ですか? –
'if($ currentSite -ne $ null){Write-Host currentSiteがnullではありません! } '' Set-Item'呼び出しの前に。このエラーから、 'path'はヌルであるか、ヌルでない場合、どこにも指していないようです。このため、 'Set-Item -path IIS:\ Sites \ $ WebSiteName-value $ currentSite'のような、他の' Set-Item'構文で試してみるべきです。 –