Ric*_*ral 3 windows registry powershell
我正在尝试使用一个简单的PowerShell脚本来访问注册表,我这样做:
Foreach ($key in Get-Childitem HKLM:\SYSTEM\CurrentControlSet\Control\Class\"{4D36E972-E325-11CE-BFC1-08002BE10318}") {
$key.name
}
Run Code Online (Sandbox Code Playgroud)
有一堆键只是数字(我想要的那些),但是有一个名为"属性",我没有访问权限(我不需要),并且该键给我执行Foreach时出现以下错误命令:
Foreach ($key in Get-Childitem HKLM:\SYSTEM\CurrentControlSet\Control\Class\"{4D36E972-E325-11CE-BFC1-08002BE10318}") {
$key.name
}
Get-ChildItem : Requested registry access is not allowed.
At line:3 char:31
+ Foreach ($key in Get-Childitem <<<< HKLM:\SYSTEM\CurrentControlSet\Control\Class\"{4D36E972-E325-11CE-BFC1-08002BE10318}") {
+ CategoryInfo : PermissionDenied: (HKEY_LOCAL_MACH...318}\Properties:String) [Get-ChildItem], SecurityException
+ FullyQualifiedErrorId : System.Security.SecurityException,Microsoft.PowerShell.Commands.GetChildItemCommand
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0002
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0003
(...)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0024
Run Code Online (Sandbox Code Playgroud)
如何排除"属性"键并消除该错误?
如果你只是不想"看到"错误,那么使用-ErrorActionon Get-ChildItem,例如:
$path = "HKLM:\SYSTEM\CurrentControlSet\Control\Class\" +
"{4D36E972-E325-11CE-BFC1-08002BE10318}"
Get-Childitem $path -ErrorAction SilentlyContinue | Foreach {$_.Name}
Run Code Online (Sandbox Code Playgroud)
该SilentlyContinue值告诉PowerShell不要显示此非终止错误.如果您希望PowerShell实际显示此密钥的值,则必须调整注册表项上的perms.
| 归档时间: |
|
| 查看次数: |
5020 次 |
| 最近记录: |