複数のサーバーを検索して、特定のレジストリキーが存在するかどうかを確認しようとしています。Test-Path PowerShell問題
以下のコードが動作しているようですが、キーの最後の部分を追加すると、「見つけた」ものが停止します。私はa*
を追加してからab*
を最後のキーとして追加することができますが、3番目の文字になるか、それとも私が知っている完全な文字列になるとすぐに、見つからなかったという偽のメッセージが返されます。
$servers = Get-Content c:\input.txt | `
Select-Object @{l='ComputerName';e={$_}},@{l='KeyExist';e={Test-Path "HKLM:\System\CurrentControlSet\services\*abcdefg*" }}
$servers | Format-Table -AutoSize
あなたは、リモートレジストリをチェックしていません。毎回コンピュータを所有しているだけです。ダブル*は冗長です。 – Matt
*異なるコンピュータのレジストリパスをテストしようとしていますか?あなたの現在のコマンドはローカルコンピュータ上のレジストリをチェックするだけです。ファイルからパイプする各サーバの名前は –
です。リモートレジストリの場合は、次のようにする必要があります。 '$ reg = [Microsoft.Win32.RegistryKey] :: OpenRemoteBaseKey(" Local Machine "、 $ _。machinename); $ key = $ reg.OpenSubkey($ keyname); $ value = $ key.GetValue( 'AutoAdminLogon') ' –