はじめに
レジストリ値の有無によって処理をわけたかったので、条件分岐を書いてみました。
実装
以下のような関数にしてみました。$path と $value を指定することで、レジストリ値の有無を真偽値で返します。
$path = 'HKCU:\SOFTWARE\Microsoft\Office\16.0\Common\Identity'
$value = "EnableADAL"
function Test-ExistsRegistryValue ($regPath, $regName) {
if (Get-ItemProperty -LiteralPath $regPath -Name $regName -ErrorAction Ignore) {
$true
}
else {
$false
}
}
Test-ExistsRegistryValue $path $value
これで真偽値を得られるので、「もし○○というレジストリ値があったら△△する」といったIF文が書けるようになります。
おわりに
もうちょっとさらっと書けるような気がしたのだけれど意外と実装に時間がかかってしまった。PowerShell のえらー/例外処理の書き方がまだまだ苦手。
以上