Share via


Cmdlet di PowerShell per IISAdministration

di Baris Caglar

Compatibilità

Versione Note
IIS 10.0 I cmdlet di PowerShell iisAdministration 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 iisadministration non sono stati supportati prima di IIS 10.0. Tuttavia, gli utenti possono installarlo tramite PowerShell Gallery.

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

Panoramica di IISAdministration

Con Windows 10 e Windows Server 2016, il team iis rilascia un modulo nuovo e semplificato affiancato IISAdministration ai cmdlet esistentiWebAdministration. 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à di aumentare le prestazioni 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 trainante 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 mirata è stata 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, rispondere a eventuali domande e ricevere suggerimenti non solo sulle funzionalità esistenti, ma anche potenzialmente per le 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 si trova all'inizio della maggior parte delle pipeline e nell'esempio specifico precedente viene prima ottenuta la sezione "system.webServer/defaultDocument" (Distinzione maiuscole/minuscole!), quindi ottenere la raccolta di file e infine ottenere un elemento 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 cui 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 venga eseguito il commit delle modifiche contemporaneamente.

Questi sono solo alcuni esempi di operazioni che è possibile eseguire con il nuovo provider. Visitare il documento Online per la documentazione completa e altri esempi.