この間、サーバー役割の取得について備忘録を書いたが、それの補足。
対象の状態だけを取り出すSCRIPTを作った。
001:$DebugPreference="SilentlyContinue"
002:
003:function WindowsFeatureStat($tName)
004:{
005: Get-WindowsFeature -name $tName| select InstallState
006: $wStatStr = Get-WindowsFeature -name $tName| select InstallState
007:
008: $wStatTbl =$wStatStr -split "="
009: $RetVal = $wStatTbl[1] -replace "}" ,""
010: return $RetVal
011:}
012:$tNameTbl = @(
013: "PowerShell-V2",
014: "File-Services",
015: "Print-Scan-Server"
016: )
017:
018:$tNameTblMax=$tNameTbl.length
019:for( $ii =0 ;$ii -lt $tNameTblMax ; $ii++ )
020:{
021: $RetVal = WindowsFeatureStat $tNameTbl[$ii]
022: Write-HOST ($tNameTbl[$ii] + "=" +$RetVal)
023: #Write-HOST "$tNameTbl[$ii] =$RetVal"
024:
025:}
結果はこんな感じ
PowerShell-V2 = Removed
File-Services = Installed
Print-Scan-Server = Available
Debugモードを"Continue"にすると、Get-WindowsFeatureのデバッグメッセージが出てしんどいので、"SilentlyContinue"にした。
PowerShellでは、ダブルクォート内の変数は展開される仕様なので、コメントにしてある 23行目のWrite-Hostではじめは作った。
ところが、配列は、全要素展開される。
しょうがないので、22行目の様にした。
ちなみに、下のような事になる。
$DebugPreference="Continue"
$tNameTbl = @(
"東京",
"品川",
"新横浜",
"名古屋",
"京都",
"大阪"
)
$tNameTblMax=$tNameTbl.length
for( $ii =0 ;$ii -lt $tNameTblMax ; $ii++ )
{
Write-Debug ($tNameTbl[$ii] + "にのぞみは停車します。")
Write-Debug "$tNameTbl[$ii] にのぞみは停車します。"
}
デバッグ: 東京にのぞみは停車します。
デバッグ: 東京 品川 新横浜 名古屋 京都 大阪[0] にのぞみは停車します。
デバッグ: 品川にのぞみは停車します。
デバッグ: 東京 品川 新横浜 名古屋 京都 大阪[1] にのぞみは停車します。
デバッグ: 新横浜にのぞみは停車します。
デバッグ: 東京 品川 新横浜 名古屋 京都 大阪[2] にのぞみは停車します。
デバッグ: 名古屋にのぞみは停車します。
デバッグ: 東京 品川 新横浜 名古屋 京都 大阪[3] にのぞみは停車します。
デバッグ: 京都にのぞみは停車します。
デバッグ: 東京 品川 新横浜 名古屋 京都 大阪[4] にのぞみは停車します。
デバッグ: 大阪にのぞみは停車します。
デバッグ: 東京 品川 新横浜 名古屋 京都 大阪[5] にのぞみは停車します。
本日の河上選手:三国 G3 3日目
3R 1号艇 1コース進入 ピンで1800円