1
我運行一個腳本以下命令的對象:PowerShell的設置,項目的回報對象引用未設置爲一個實例
$currentSite = Get-Item IIS:\Sites\$WebSiteName
$currentSite.id = $WebSiteID
$currentSite | Set-Item
,我想設置id一個網站。 此腳本適用於某些環境,不適用於其他環境(尋找不同的功能,希望儘快發佈)。
如果它不工作,它返回以下錯誤:
Set-Item : Object reference not set to an instance of an object.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Set-Item], NullReferenceException
+ FullyQualifiedErrorId : path,Microsoft.PowerShell.Commands.SetItemCommand
因此,尋找一種解決方法我試過下面的代碼:
$currentSite = Get-Item IIS:\Sites\$WebSiteName
$currentSite | Set-Item
,但我得到了同樣的錯誤。
所以我想知道是否有一些參數需要Set-Item,但Get-Item在它與站點協同工作時不會返回(我指定了站點,因爲我使用了相同的結構來設置應用程序池,而我即使這不回答這個問題沒有得到任何問題)
什麼'$ currentSite | gm'返回當你得到錯誤? – LotPings
'TypeName:System.Object'你是否也需要這個列表? –
試試'if($ currentSite -ne $ null){Write-Host currentSite不是null!在'Set-Item'調用之前}。從錯誤看來'路徑'爲空或者如果不爲空,它指向無處。因此,您應該嘗試使用另一個'Set-Item'語法,例如:'Set-Item -path IIS:\ Sites \ $ WebSiteName -value $ currentSite' –