Почему Get-ItemProperty Powershell не возвращает те же значения, что и в regedit.exe? - PullRequest
0 голосов
/ 06 декабря 2018

Я настраиваю машину для тестирования, и часть этого работает с некоторыми значениями реестра.Это виртуальная машина Azure, и я настраиваю ее через Powershell.

Я замечаю много различий между значениями реестра, возвращенными из Get-ItemProperty (в Powershell), и значениями реестра, которые я вижу в regedit.exe.Ниже приведен пример одного такого различия:

Get-ItemProperty:

enter image description here

regedit.exe:

enter image description here

Примечание DefaultUserName устанавливается при просмотре в regedit.exe

Я устанавливаю эти свойстваиспользуя New-ItemProperty (с параметром -Force).

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 06 декабря 2018

У меня нет ответа на данный момент, но есть некоторые идеи, которые вы можете попробовать.

Список всех клавиш с помощью командной строки

reg.exe query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"

Перечислите все ключи с помощью PowerShell

(Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\").PSObject.Properties | where-object name -notlike PS* | Format-Table Name, value

Это облегчит вам сравнение результатов, которые генерирует PowerShell, и того, что генерирует командная строка.

Хотите подсчитать количество записей в PowerShell

((Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\").PSObject.Properties | where-object name -notlike PS*).count

Я провел тестирование на 2 разных ноутбуках и не обнаружил различий.

Я протестировал на 4 разных виртуальных машинах Azure и имеюразличий не обнаружено.

Если вы создаете новые разделы реестра, я бы перезапустил консоль PowerShell, прежде чем снова получить разделы реестра.Просто чтобы убедиться.

В противном случае вы должны рассмотреть экспорт ключа реестра из regedit.exe и посмотреть путь, созданный в файле.

...