I'm pretty new to powershell, and I'm trying to automate the removal of a prior version of a website and addition of the newer version as a part of a TFS 2010 Build Template (Windows Workflow 4.0). Is it possible to see if a website or web app pool exists in IIS7 with powershell? I've tried running the following command:
import-module WebAdministration
Get-Website -Name "Default Web Site"
The output lists all of the websites installed on the box, not just the 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
If I try to run the command without the "-Name" parameter, the result is exactly the same.
I just noticed the same behavior. Seems like its not working as expected. However, you can roll your own:
get-website | where-object { $_.name -eq 'MyWebsite1' }
That just pipes the list returned by get-website to the where-object cmdlet and just return that single object.
If your new to PowerShell, I can't recommend Master PowerShell enough.