0

所以我试图让一个相当简单的脚本工作但没有成功。我所要做的就是获取我们在不相等的服务器上拥有的其他网站的名称Default Web Site。我知道该Get-Website错误-Name并尝试了所有解决方法但均未成功。一切都写着“默认网站”,我很难过。我应该提到我需要在 2003 服务器上使用 PS 2.0 和 IIS6 完成此操作。

这是我尝试过的:

$site = Get-Website | Where {$_.Name -ne 'Default Web Site'}
$sitname = $site
Write-Host $sitename

$site = Get-Website | Where {$_.Name -ne '*Default Web Site*'}
$sitname = $site
Write-Host $sitename

$site = Get-Item "IIS:\sites" | where {$_.Name -ne 'Default Web Site'}
$sitname = $site
Write-Host $sitename

$site = Get-Item "IIS:\sites" | where {$_.Name -ne '*Default Web Site*'}
$sitname = $site
Write-Host $sitename

我什至尝试更改-ne 'Default Web Site'-eq 'Second Site Name查看会发生什么,但它仍然只是给我默认网站输出。

我在这里做错了什么?我仍然是错误的受害者吗?

4

2 回答 2

0

您在第 2 行有一个错字。$sitname应该是$sitename(中间缺少一个e)。正确代码:

$site = Get-Website | Where {$_.Name -ne 'Default Web Site'}
$sitename = $site
Write-Host $sitename

但是,Get-Website不只是返回一个字符串 - 它返回一个Microsoft.IIs.PowerShell.Framework.ConfigurationElement. 要仅获取站点名称,您需要执行以下操作:

$sitenames = Get-Website | Where {$_.Name -ne 'Default Web Site'}|select-object Name
于 2013-04-25T20:49:28.903 回答
0

Here is the final code after I had managed to figure this out.

Import-Module WebAdministration
$getnames = Get-Website | Where {$_.Name -like 'oldsite.com'}|select-object Name
$sitenames = $getnames.name
Write-Host $sitenames
$itemproperty = "IIS:\Sites\" + $sitenames
Set-ItemProperty $itemproperty -name Name -value Newwebsite.com
Write-Host $sitenames + "has been renamed to Newwebsite.com"
于 2013-05-03T20:05:31.803 回答