![]() |
Работа с реестром
Доброго времени суток!
Хотелось бы прояснить для себя следующую ситуацию. Необходимо определить путь до папки Desktop у пользователя. Почему не получается считать значение корректно? Рассматриваемая ветка является же корнем именно из нее получается ветка HKLU Код:
$sid = (Get-ADUser $user).Sid.Value |
Когда цепляетесь к удалённой тачке к тому же с активной сессией пользователя, знать SID необязательно, так как в память среди прочего будет загружен куст реестра HKCU. Иными словами, можно запросить данные из последнего. Например:
Код:
using namespace Microsoft.Win32 |
Цитата:
Код:
[environment]::getfolderpath('Desktop') |
YuS_2, если обернуть в Invoke-Command, но у оного достаточно побочных эффектов.
|
Цитата:
с указанием Sid пишет"Невозможно вызвать метод для выражения со значением NULL" В ходе тестирования выяснили, что с Windows XP считывает ветку как надо, думаю это происходит потому что папка называется "Рабочий стол", а не "Desktop" И проблема именно в переменной %Userprofile% и как обойти эту проблему ... ???? Если путь до Desktop написан явно, то все хорошо считывает WinRM у нас запрещен, поэтому вариант с Invoke-Command и [environment]::getfolderpath('Desktop') - не получиться |
Цитата:
К слову, можно провернуть очень грязный трюк со счётчиками производительности, но способ палится всеми AV. |
Цитата:
Не получается получить корректное значение, единственное что получается это через wmi получить путь до профиля пользователя и потом дописать название папки и проверить этот путь Примерно так Код:
$path_profile = (((Get-WMIObject win32_userprofile -ComputerName $name_ps -filter "SID = '$sid'").LocalPath) -replace ":","$") + "\desktop" |
Цитата:
|
Цитата:
|
В проблеме разобрались, все таки как и предполагалось проблема в применении переменной %UserProfile%
ветка .. user Shell Folders содержит тип: REG_EXPAND_SZ - Расширяемая строка данных. Эта строка представляет собой текст, содержащий переменную, которая может быть заменена при вызове со стороны приложения. Именно это и происходит. Возможно мои суждения ошибочны, но тестирование показывает именно этот вывод сменили путь на shell folders отрабатывает корректно. |
Время: 20:53. |
Время: 20:53.
© OSzone.net 2001-