Powershell注册表访问多个选项

蓝云

要通过Powershell访问Windows机器中的注册表或对其进行更改,我看到两种方法

  1. cd HKLM:\ (或set-location -path HKLM:\ SOFTWARE \ Microsoft \ Windows \ CurrentVersion)

    Get-childitem

    要么

    Get-Item -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

  2. Get-ItemProperty , New-ItemProperty , Set-ItemProperty

什么时候使用另一个?

杰库

它们都是必需的,因为无法在Item对象上访问属性值(并且无法通过ItemProperty命令看到嵌套的“子”容器项)。

我的2c:注册表提供者是由某人作为演示编写的,然后交付使用,现在他们害怕更改它……这是解释整个“ ItemProperty”内容的唯一方法。

基本上,当他们将注册表映射到PowerShell Provider语义时,只有容器,并且每个容器都具有属性(和/或子容器),而不是具有“容器”和“叶”项

因此,如果您Get-ChildItem HKCU:\SOFTWARE\Microsoft收到响应,则会列出每个子容器的“名称”(注册表编辑器(Regedit.exe)将其显示为文件夹),并在“属性”标题下列出其中的值-但是清单完全在显示中,并且Property您返回的对象上字段实际上只是一个列出属性名称的字符串数组,因此您知道下一步可以做什么:

  • 如果您想以一种可让脚本访问它们的方式实际读取值,则需要使用 Get-ItemProperty
  • 如果要更改值,则需要使用 Set-ItemProperty
  • 要创建新的,您需要使用 New-ItemProperty

例如,在您的示例中,您可能会看到SecurityHealth:

运行键具有指向SecurityHealthSystray.exe的SecurityHealth属性

但这就像上面的屏幕截图一样,作为人类,您可以看到该值,但是您的脚本无法读取该值...

您必须使用Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run取回一个对象,该对象实际上具有SecurityHealth带有C:\WINDOWS\System32\SecurityHealthSystray.exe属性...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

注册表值访问

来自分类Dev

注册表访问被拒绝

来自分类Dev

多个注册表FluentScheduler

来自分类Dev

访问Windows注册表Python

来自分类Dev

从WebJob / WebApp访问注册表

来自分类Dev

从Ubuntu访问Windows注册表

来自分类Dev

Docker无法从OpenShift访问注册表

来自分类Dev

审计注册表访问或修改

来自分类Dev

无法访问 docker 注册表

来自分类Dev

从项目注册表访问 Docker 容器

来自分类Dev

检测方法-Powershell-注册表

来自分类Dev

Powershell注册表搜索和编辑

来自分类Dev

使用PowerShell解释注册表值

来自分类Dev

从注册表启动Powershell脚本

来自分类Dev

在注册表中搜索多个值

来自分类Dev

如何使用Powershell访问另一个用户的注册表配置单元?

来自分类Dev

使用django-allauth的多个注册,注册表

来自分类Dev

私有Docker注册表的访问控制

来自分类Dev

保存和还原注册表访问权限和继承

来自分类Dev

无法从外部访问OpenShift 4.2内置Docker注册表

来自分类Dev

无法修改注册表用户访问权限

来自分类Dev

nServiceBus“不允许请求的注册表访问”

来自分类Dev

Chrome扩展程序访问Windows注册表

来自分类Dev

管理员拒绝Windows注册表访问

来自分类Dev

是否可以控制对 Bluemix 容器注册表的访问?

来自分类Dev

ClosedXML SecurityException:不允许请求的注册表访问

来自分类Dev

在Powershell中创建多个(子)注册表项

来自分类Dev

如何使用PowerShell进行远程注册表更改?

来自分类Dev

使用Powershell递归读取注册表设置