Condividi tramite


Cmdlet di PowerShell per IISAdministration

di Baris Caglar

Compatibility

Versione Note
IIS 10.0 I cmdlet di PowerShell di amministrazione IIS sono stati introdotti in IIS 10.0. La versione più recente di IISAdministration è supportata tramite PowerShell Gallery.
IIS 8.5 e versioni precedenti I cmdlet di PowerShell di amministrazione IIS non sono supportati prima di IIS 10.0. Tuttavia, gli utenti possono installarlo tramite PowerShell Gallery.

Per informazioni su come ottenere la versione più recente di IISAdministration, visita su iis.net.

Panoramica di IISAdministration

Con Windows 10 e Windows Server 2016, il team di IIS sta rilasciando un modulo nuovo e semplificato affiancato IISAdministration ai cmdlet esistenti WebAdministration . Esistono molti motivi alla base della decisione di rilasciare un modulo cmdlet di PowerShell completamente nuovo e di seguito sono riportati alcuni di essi:

  • IISAdministration consentirà una migliore scalabilità negli script che richiedono molto tempo per l'esecuzione con WebAdministration.
  • È ora possibile ottenere un riferimento diretto a un'istanza di Microsoft.Web.Administration.ServerManager oggetto ed eseguire qualsiasi operazione che è possibile eseguire nello Microsoft.Web.Administration spazio dei nomi insieme agli script.
  • La compatibilità delle pipeline di PowerShell è stata la forza guida alla base della progettazione di molti cmdlet. Di conseguenza, IISAdministration funziona molto meglio con la pipeline di PowerShell.

La versione dei cmdlet rilasciati per Windows 10 era una versione approssimativa con spazio di miglioramento; la versione di destinazione era Windows Server 2016 per il prodotto finito e lucidato. Il motivo della versione precedente era ottenere commenti e suggerimenti da utenti di PowerShell reali e amministratori IIS nel settore, per rispondere a qualsiasi domanda e per ricevere suggerimenti non solo sulle funzionalità esistenti, ma anche sulle nuove funzionalità che gli utenti desiderano da Amministrazione IIS in quanto riguarda PowerShell.

Ecco alcuni esempi sull'utilizzo del nuovo provider:

Pipelining

PS:>Get-IISConfigSection -SectionPath "system.webServer/defaultDocument" | Get-IISConfigCollection -CollectionName "files" | New-IISConfigCollectionElement -ConfigAttribute @{"Value" = "MyDefDoc.htm"}

Get-IISConfigSection è all'inizio della maggior parte delle pipeline e, nell'esempio specifico sopra, si ottiene prima la sezione "system.webServer/defaultDocument" (Distinzione maiuscole/minuscole!), quindi si ottiene la raccolta di file e infine si ottiene un elemento della raccolta con il valore dell'attributo specificato.

PS:>$ConfigSection = Get-IISConfigSection -SectionPath "system.applicationHost/sites"

PS:>Get-IISConfigCollection $configSection | Get-IISConfigCollectionElement -ConfigAttribute @{"Name"="Default Web Site"} | Get-IISConfigAttributeValue -AttributeName "State"

Questo è più di un esempio ibrido in cui la sezione viene prima inserita in una variabile, quindi usata nella pipeline.

Comandi semplici

Il numero di comandi semplici è notevolmente ridotto a pochi. Gli esempi includono Get-IISSite e Get-IISAppPool. Altre semplici operazioni per le quali i comandi non esistono possono essere eseguite tramite operazioni della pipeline.

PS:> Get-IISAppPool

Name            Status   CLR Ver  Pipeline Mode  Start Mode
----            ------   -------  -------------  ----------
DefaultAppPool  Started  v4.0     Integrated     OnDemand

Get-IISServerManager

PS:>$sm = Get-IISServerManager

PS:>$sm.ApplicationPools["DefaultAppPool"].Recycle()

Come si può notare, una volta ottenuto l'accesso al server manager, il cielo è il limite.

Start-IISCommitDelay/Stop-IISCommitDelay

Racchiudendo le operazioni tra questi comandi, è possibile assicurarsi che le modifiche vengano eseguite contemporaneamente.

Questi sono solo alcuni esempi di ciò che è possibile fare con il nuovo provider. Per la documentazione completa e altri esempi, visitare Online .