NTDSサービスにあるDCのデータベースサイズを見つけようとしています。私のスクリプトは次のとおりです。
$Computer = "abe.com"
$Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $computer)
$RegKey=$Reg.OpenSubKey("SYSTEM\\CurrentControlSet\\services\\NTDS\\Parameters"
$NTDSPath = $Regkey.GetValue("DSA Database file")
$NTDSREMOTEPath = "\\$computer\$NTDSPath" -replace ":","$"
$NTDSREMOTEPath = Get-item $NTDSREMOTEPath | Select-Object -ExpandProperty Length
($NTDSREMOTEPath /1GB).ToString("0.000"+" GB")
これを実行した後、エラーが発生しました:
Exception calling "OpenSubKey" with "1" argument(s): "Requested registry access is not allowed."
At C:\Users\Documents\HealthCheck\hardwareMonitoring.ps1:40 char:1
+ $RegKey= $Reg.OpenSubKey("SYSTEM\\CurrentControlSet\\services\\NTDS\\Parameters" ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : SecurityException
You cannot call a method on a null-valued expression.
At C:\Users\Documents\HealthCheck\hardwareMonitoring.ps1:41 char:1
+ $NTDSPath = $Regkey.GetValue("DSA Database file")
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
Get-item : Cannot find path '\\abc.com\' because it does not exist.
At C:\Users\Documents\HealthCheck\hardwareMonitoring.ps1:43 char:19
+ $NTDSREMOTEPath = Get-item $NTDSREMOTEPath | Select-Object -ExpandProperty Lengt ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (\\abc.com\:String) [Get-Item], ItemNotFoundE
xception
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand
私のアカウントには、regedit SYSTEM\\CurrentControlSet\\services\\NTDS\\Parameters
からこのパスをクエリするための十分な権限がないことがわかりました。
「abc.com」にログインすることにし、full control
およびread
権限を持つアカウントを追加しました。私が行ったことは、Parameter
を右クリックしてpermissions
を選択し、アカウントを追加しました。
再びスクリプトを実行するために戻ってきました。同じエラーが発生しました!
ちなみに管理者アカウントで動作します。ドメイン管理者アカウントを使用せずにクエリを実行したい。
この場合の理由は何ですか?どうもありがとうございます!
ステップ1。
レジストリキーへのアクセス許可の割り当て
読み取りを行って、キーの内容の読み取りを許可しますが、変更を保存しません。フルコントロールの[許可]チェックボックスをオンにして、キーのオープン、編集、および所有権の取得を許可します。
ステップ2。
Windows Server 2003ドメインコントローラ
Windows Server 2008以降のドメインコントローラー
ステップ3。
ローカルグループポリシーエディターを開きますコンピューターの構成-> Windows設定->セキュリティ設定->ローカルポリシー->セキュリティオプション->ネットワークアクセスのプロパティ:リモートアクセス可能なレジストリパスとサブパス->ローカルポリシー設定タブでレジストリサブを追加します照会したいパス
例えば: System\CurrentControlSet\Control\ContentIndex