#ネットワーク探索に必要な3つのサービスを取得 $NetDiscoveryServices = get-wmiobject win32_service | Where-Object { ($_.Name -eq "FDResPub") -or ($_.Name -eq "SSDPSRV") -or ($_.Name -eq "upnphost") } #サービスのスタートアップ状態が「手動」もしくは「無効」の場合に「自動(遅延実行)に変更」 foreach($NetDiscoveryService in $NetDiscoveryServices){ Write-Host 'サービス名:'$NetDiscoveryService.Name If($NetDiscoveryService.Name -eq "FDResPub"){ Write-Host 'サービスのスタートアップ状態:'$NetDiscoveryService.StartMode If($NetDiscoveryService.StartMode -ne "Auto"){ Write-Host $NetDiscoveryService.Name'を「自動(遅延実行)」に変更し、サービスを開始します。' cmd /c "sc config FDResPub start= delayed-auto" cmd /c "net start FDResPub" } }elseIf($NetDiscoveryService.Name -eq "SSDPSRV"){ Write-Host 'サービスのスタートアップ状態:'$NetDiscoveryService.StartMode If($NetDiscoveryService.StartMode -ne "Auto"){ Write-Host $NetDiscoveryService.Name'を「自動(遅延実行)」に変更し、サービスを開始します。。' cmd /c "sc config SSDPSRV start= delayed-auto" cmd /c "net start SSDPSRV" } }elseIf($NetDiscoveryService.Name -eq "upnphost"){ Write-Host 'サービスのスタートアップ状態:'$NetDiscoveryService.StartMode If($NetDiscoveryService.StartMode -ne "Auto"){ Write-Host $NetDiscoveryService.Name'を「自動(遅延実行)」に変更し、サービスを開始します。' cmd /c "sc config upnphost start= delayed-auto" cmd /c "net start upnphost" } } }