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 conWebAdministration
.- È ora possibile ottenere un riferimento diretto a un'istanza di
Microsoft.Web.Administration.ServerManager
oggetto ed eseguire qualsiasi operazione che è possibile eseguire nelloMicrosoft.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.