You can view the IIS gui conole by running “Inetmgr” on the commandline.
Announcement
You can find all my latest posts on medium.
To automate IIS you first need to ensure you have the “webadministration”:
[powershell]
PS C:\Windows\system32> Get-Module -ListAvailable
Directory: C:\Windows\system32\WindowsPowerShell\v1.0\Modules
ModuleType Version Name ExportedCommands
———- ——- —- —————-
Manifest 1.0.0.0 ADRMS {Update-ADRMS, Uninstall-ADRMS, Install-ADRMS}
Manifest 1.0.0.0 AppLocker {Set-AppLockerPolicy, Get-AppLockerPolicy, Test-AppLockerP…
Manifest 1.0 BestPractices {Get-BpaModel, Invoke-BpaModel, Get-BpaResult, Set-BpaResult}
Manifest 1.0.0.0 BitsTransfer {Add-BitsFile, Remove-BitsTransfer, Complete-BitsTransfer,…
Manifest 1.0.0.0 CimCmdlets {Get-CimAssociatedInstance, Get-CimClass, Get-CimInstance,…
Script 1.0.0.0 ISE {New-IseSnippet, Import-IseSnippet, Get-IseSnippet}
Manifest 3.0.0.0 Microsoft.PowerShell.Diagnostics {Get-WinEvent, Get-Counter, Import-Counter, Export-Counter…
Manifest 3.0.0.0 Microsoft.PowerShell.Host {Start-Transcript, Stop-Transcript}
Manifest 3.1.0.0 Microsoft.PowerShell.Management {Add-Content, Clear-Content, Clear-ItemProperty, Join-Path…
Manifest 3.0.0.0 Microsoft.PowerShell.Security {Get-Acl, Set-Acl, Get-PfxCertificate, Get-Credential…}
Manifest 3.1.0.0 Microsoft.PowerShell.Utility {Format-List, Format-Custom, Format-Table, Format-Wide…}
Manifest 3.0.0.0 Microsoft.WSMan.Management {Disable-WSManCredSSP, Enable-WSManCredSSP, Get-WSManCredS…
Binary 1.0 PSDesiredStateConfiguration {Set-DscLocalConfigurationManager, Start-DscConfiguration,…
Script 1.0.0.0 PSDiagnostics {Disable-PSTrace, Disable-PSWSManCombinedTrace, Disable-WS…
Binary 1.1.0.0 PSScheduledJob {New-JobTrigger, Add-JobTrigger, Remove-JobTrigger, Get-Jo…
Manifest 2.0.0.0 PSWorkflow {New-PSWorkflowExecutionOption, New-PSWorkflowSession, nwsn}
Manifest 1.0.0.0 PSWorkflowUtility Invoke-AsWorkflow
Manifest 1.0.0.0 ServerManager {Get-WindowsFeature, Add-WindowsFeature, Remove-WindowsFea…
Manifest 1.0.0.0 TroubleshootingPack {Get-TroubleshootingPack, Invoke-TroubleshootingPack}
Manifest 1.0.0.0 WebAdministration {Start-WebCommitDelay, Stop-WebCommitDelay, Get-WebConfigu…
Directory: C:\Program Files\System Center Operations Manager\Agent\PowerShell
ModuleType Version Name ExportedCommands
———- ——- —- —————-
Binary 0.0.0.0 Microsoft.MonitoringAgent.PowerS… {Checkpoint-WebApplicationMonitoring, Get-WebApplicationMo…
PS C:\Windows\system32>
[/powershell]
If you have windows 2008 with IIS 7.5 installed, then you should see a module called “WebAdministration”. Next do:
[powershell]
Import-Module -Name WebAdministration
[/powershell]
After that you should have a bunch of IIS related commands ready for use:
[powershell]
PS C:\Windows\system32> Get-Command -Module webadministration
CommandType Name ModuleName
———– —- ———-
Alias Begin-WebCommitDelay webadministration
Alias End-WebCommitDelay webadministration
Function IIS: webadministration
Cmdlet Add-WebConfiguration webadministration
Cmdlet Add-WebConfigurationLock webadministration
Cmdlet Add-WebConfigurationProperty webadministration
Cmdlet Backup-WebConfiguration webadministration
Cmdlet Clear-WebConfiguration webadministration
Cmdlet Clear-WebRequestTracingSettings webadministration
Cmdlet ConvertTo-WebApplication webadministration
Cmdlet Disable-WebGlobalModule webadministration
.
.
.
.
[/powershell]
Along with this you should have the IIS drive available too:
[powershell] PS C:\Windows\system32> psdrive Name Used (GB) Free (GB) Provider Root CurrentLocation —- ——— ——— ——– —- ————— A FileSystem A:\ Alias Alias C 30.80 19.10 FileSystem C:\ Windows\system32 Cert Certificate \ D FileSystem D:\ Env Environment Function Function HKCU Registry HKEY_CURRENT_USER HKLM Registry HKEY_LOCAL_MACHINE IIS WebAdminis… \\OSVM1043 Variable Variable WSMan WSMan [/powershell]
Create a Virtual Directory
You need to use the New-WebVirtualDirectory command:
http://www.jasonholden.com/blog/index.cfm/2014/1/7/Use-PowerShell-to-add-IIS-virtual-directory-with-Login-Connect-As
Here is an example command:
New-WebVirtualDirectory -Name “xxx” -site “Default Web Site” -PhysicalPath ‘C:\Program Files\path\to\folder’
Name – This is the name as you want it to when viewing it in the Inetmgr’s tree structure.
Sites – on the inetmgr gui, it is the parent too the name, within the tree.
physicalpath – it is the full path to the folder where the folder should reside. For consistency it might be a good idea to mirror the folder’s name with the “name”
Resources
http://stackoverflow.com/questions/5963647/webadministration-powershell-module-not-found-on-windows-server-data-center
http://www.iis.net/learn/manage/powershell/powershell-snap-in-creating-web-sites-web-applications-virtual-directories-and-application-pools
http://stackoverflow.com/questions/14236406/how-to-enable-a-windows-feature-via-powershell
After this, you should see IIS when you do:
get-psprovider
Also you should see the following new commands:
Get-Command -Module webadministration