我在脚本中运行以下命令:
$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在与Sites(我指定的站点一起使用)时没有返回,因为我使用相同的结构设置一个Application游泳池,我没有遇到任何问题)
答案 0 :(得分:1)
即使这不回答问题,我也找到了解决问题的方法:
而不是使用
$currentSite = Get-Item IIS:\Sites\$WebSiteName
$currentSite.id = $WebSiteID
$currentSite | Set-Item
用于设置WebSite的id可以使用以下命令:
Set-ItemProperty -Path IIS:\Sites\$WebSiteName -Name id -Value $WebSiteID