IISAdministration PowerShell コマンドレット
投稿者: Baris Caglar
互換性
バージョン | メモ |
---|---|
IIS 10.0 | IISAdministration PowerShell コマンドレットは IIS 10.0 で導入されました。 IISAdministration の最新バージョンは、Powershell ギャラリーを介してサポートされています。 |
IIS 8.5 以前 | IISAdministration PowerShell コマンドレットは、IIS 10.0 未満ではサポートされていませんでした。 ただし、ユーザーは PowerShell ギャラリーを介してインストールできます。 |
IISAdministration の最新バージョンを取得する方法については、iis.net にアクセスしてください。
IISAdministration の概要
Windows 10 と Windows Server 2016 では、IIS チームは既存の WebAdministration
コマンドレットと並行して新しい簡素化された IISAdministration
モジュールをリリースします。 まったく新しい PowerShell コマンドレット モジュールをリリースする決定の背後には多くの理由がありますが、そのいくつかを紹介します。
IISAdministration
を使用すると、WebAdministration
で実行すると時間がかかるスクリプトのスケーリングが向上します。Microsoft.Web.Administration.ServerManager
オブジェクトのインスタンスへの直接参照を取得し、スクリプトと共にMicrosoft.Web.Administration
名前空間で実行できる任意の操作を行うことができます。- PowerShell パイプラインの互換性は、多くのコマンドレットの設計を推進してきました。 そのため、
IISAdministration
は、PowerShell パイプラインで利用する方がはるかに適しています。
Windows 10 用にリリースされたコマンドレットのバージョンは、大まかなバージョンであり、改善の余地がありました。完成した洗練された製品として目標となったリリースは、Windows Server 2016 でした。 以前のリリースは、業界の実際の PowerShell ユーザーと IIS 管理者からフィードバックを受け取り、質問に回答し、既存の機能だけでなく、ユーザーが PowerShell に関して新機能において IIS 管理に求めることについて提案を受け取ることが目的でした。
新しいプロバイダーの使用例を次に示します。
パイプライン処理
PS:>Get-IISConfigSection -SectionPath "system.webServer/defaultDocument" | Get-IISConfigCollection -CollectionName "files" | New-IISConfigCollectionElement -ConfigAttribute @{"Value" = "MyDefDoc.htm"}
Get-IISConfigSection
はほとんどのパイプラインの先頭にあり、上記の特定の例では、最初に "system.webServer/defaultDocument" セクション (大文字と小文字が区別されます) を取得し、次にファイル コレクションを取得し、最後に指定された属性値を持つコレクション要素を取得します。
PS:>$ConfigSection = Get-IISConfigSection -SectionPath "system.applicationHost/sites"
PS:>Get-IISConfigCollection $configSection | Get-IISConfigCollectionElement -ConfigAttribute @{"Name"="Default Web Site"} | Get-IISConfigAttributeValue -AttributeName "State"
これは、セクションが最初に変数に格納され、次にパイプラインで使用されるというハイブリッドの一例です。
単純なコマンド
単純なコマンドの数が大幅に少なくなります。 ここで示す例には、Get-IISSite と Get-IISAppPool が含まれます。 コマンドが存在しないその他の単純な操作は、パイプライン操作を通じて実行できます。
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()
ご覧のように、サーバー マネージャーにアクセスできたら、可能性は無限大です。
Start-IISCommitDelay/Stop-IISCommitDelay
これらのコマンドで操作を囲むと、変更が同時にコミットされるようにすることができます。
これらの例は、新しいプロバイダーでできることのほんの一部にすぎません。 詳細なドキュメントとその他の例については、オンライン ドキュメントを参照してください。