Azure にデプロイされた Web サイトのルートにある Web アプリケーションの serviceAutoStartEnabled プロパティと serviceAutoStartProvider プロパティを構成しようとしています。自動開始プロセスを理解していれば、これらのプロパティを 1 つの Web サイトで特定の Web アプリケーションに対して設定できます。
ここに示すように、Web 管理タスクを実行するために、Web ロールの開始中に (起動タスクで昇格された特権が取得された後)、powershell スクリプトを実行しています。
write-host "Begin RoleStart.ps1"
import-module WebAdministration
Add-WindowsFeature NET-WCF-HTTP-Activation45,NET-WCF-TCP-Activation45,NET-WCF-Pipe-Activation45
$listenerService = Get-WmiObject win32_service -filter "name='NetPipeActivator'"
$listenerService.ChangeStartMode("Automatic")
$listenerService.StartService()
$WebRoleSite = (Get-WebSite "*web*")
$WebRoleSiteName = $WebRoleSite.Name
$WebRoleAppPool = $WebRoleSite.ApplicationPool
New-ItemProperty "IIS:/Sites/$WebRoleSiteName" -name bindings -value @{protocol="net.pipe";bindingInformation="*"}
Set-ItemProperty "IIS:/Sites/$WebRoleSiteName" -Name EnabledProtocols 'http,net.pipe'
Set-ItemProperty -Path "IIS:\AppPools\$WebRoleAppPool" -Name startMode -Value AlwaysRunning
write-host "End RoleStart.ps1"
これにより、必要に応じて AlwaysRunning プロパティを使用してアプリ プールが設定されますが、アプリケーション固有の serviceAutoStartEnabled プロパティと serviceAutoStartProvider プロパティに新しい値を指定する必要があります。
Get-WebApplication を使用してアプリケーションを取得し、これら 2 つのプロパティを設定できることはわかっていますが、次の powershell コマンドを実行すると、ルート ("/") アプリケーションのアプリケーションが表示されません。
(Get-WebApplication "*") | format-list *
では、webadministration コマンドレットを使用してルート アプリケーションのこれら 2 つのプロパティを設定するにはどうすればよいでしょうか?