Получите значения данных из реестра с помощью powershell - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь добавить приложение в раздел реестра DisallowRun, чтобы избежать запуска приложения для указания c пользователей. Если приложение не существует, необходимо добавить его. Рассмотрим в этом случае TestApp3.exe.

Используется в запросе ниже для получения списка элементов в ключе. Он дает имя (Key Name), свойство (Name Value : Data Value)

Get-Item -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun"

вывод

свойство имени
---- --- -----
DisallowRun 1: TestApp1.exe
DisallowRun 2: TestApp2.exe
DisallowRun 3: TestApp3.exe
DisallowRun 4: TestApp4.exe

Когда я использую . Свойство в коде, получение только значений имени, а не значений данных

(Get-Item -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun").Property

Вывод

1
2
3
4

Если я получаю только значения данных (аналогичные показанным ниже), тогда я мог бы использовать функцию contains, чтобы проверить, доступно ли приложение c, уже доступно или нет. Пожалуйста, помогите мне получить только значение данных или есть ли способ проверить, существует ли приложение в разделе реестра.

TestApp1.exe
TestApp2.exe
TestApp3.exe
TestApp4.exe

Ответы [ 2 ]

1 голос
/ 30 мая 2020

Попробуйте это.

(Get-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun).PSObject.Properties | Where-Object { 
    $_.Name -notmatch "^PS" 
} | Select-Object -ExpandProperty Value
0 голосов
/ 30 мая 2020

Попробуйте Get-ItemProperty -Path Registry :: HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer \ DisallowRun

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...