2012-06-14 56 views
14

我是相當新的PowerShell的,而我試圖自動刪除的網站,並添加新的版本爲TFS 2010生成模板(Windows工作流4.0)的一部分的先前版本。使用PowerShell可以查看IIS7中是否存在網站或Web應用程序池?我試着運行以下命令:如何確定一個網站是否安裝在帶有Powershell的IIS7中?

import-module WebAdministration 
Get-Website -Name "Default Web Site" 

輸出列出了安裝在盒子上的所有網站,而不僅僅是默認網站。

Name    ID State  Physical Path     Bindings 
------------------------------------------------------------------------- 
Default Web Site 1 Started %SystemDrive%\inetpub\wwwroot http *:80: 
                   net.tcp 808:* 
                   net.pipe * 
                   net.msmq localhost 
                   msmq.formatname localhost 
MyWebsite1  2 Started C:\inetpub\MyWebsite1   http *:80:mywebsite1.com 
MyWebsite2  3 Started C:\inetpub\MyWebsite2   http *:80:mywebsite2.com 

如果我嘗試運行沒有「-Name」參數的命令,結果是完全一樣的。

回答

14

我剛剛注意到了相同的行爲。似乎沒有按預期工作。但是,你可以滾你自己:

get-website | where-object { $_.name -eq 'MyWebsite1' } 

這只是管道通過得到-網站回到哪裏對象 cmdlet,並只返回一個對象名單。

如果你的新的PowerShell,我不能推薦Master PowerShell不夠。

+0

很好的答案,+,+ 1鏈接至主Powershell的。這看起來很棒。謝謝! – shellter

+0

另一個答案不適合我,但是這樣做。我只是跑'如果($(GET-網站|位置對象{$ _名稱-eq '站點名稱'})當量$空)'和它的工作。 –

38

您可以使用測試的路徑兩個檢查網站&應用程序池:

Import-module webadministration 
$alias = "MyWebSite1" 
$IISPath = "IIS:\Sites\Default Web Site\$alias" 

if (Test-Path $IISPath) { Write-Host "$alias exists." } 

$IISPath = "IIS:\AppPools" 
cd $IISPath 
if (Test-Path ".\MyAppPool") { Write-Host "MyAppPool exists." } 
+0

不錯的提示!謝謝! –

+0

我真的希望我可以標出兩個答案,因爲這也有幫助,因爲它給了我另一部分我正在尋找的答案。 –

+0

此IIS:\ Sites路徑在哪裏? –

相關問題