Size: a a a

2021 October 28

SK

Sergey Korotkov in Powershell Rus
помню в данным давно, когда деревья были высокие а ....,
когда еще в мсн-е сидели, просил посмотреть и посоветовать как лучше делать мои поделки, Вадим столько полезной информации за час мне выдал :)
источник

m

maxxxxxxxx in Powershell Rus
хуясе, он модуль PowerShell pki написал
источник

VG

Vasily Gusev in Powershell Rus
неможетбыть :D
источник

m

maxxxxxxxx in Powershell Rus
источник
2021 October 29

L

LGG in Powershell Rus
Добрый день, господа!

Наткнулся на любопытное (для меня) поведение PoSh , а может и .NET
Пытаюсь прочитать значение параметра TEMP для ключа например "HKEY_USERS\S-1-5-18\Environment"
Вместо ожидаемого %USERPROFILE%\AppData\Local\Temp
получаю C:\Users\MyUserName\AppData\Local\Temp

Для себя обошел проблему формируя "локальный" путь для моего профиля и сравнивая его с выводом запрашиваемого значения.

Способы при помощи которых обращался к реестру и получал одинаковый результат:
Microsoft.PowerShell.Core\Registry
[Microsoft.Win32.RegistryKey]::OpenBaseKey
[Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey

Из наводок нашел
https://docs.microsoft.com/en-us/windows/win32/api/processenv/nf-processenv-expandenvironmentstringsw

Пример:
$SomeUserSID = "S-1-5-18"
$HKUTest = [Microsoft.Win32.RegistryKey]::OpenBaseKey("Users", 0)
$HKUTest.OpenSubKey( "$SomeUserSID\Environment" , $False ).GetValue("TEMP")


Что это за фича такая?
источник

VB

Vector BCO in Powershell Rus
а у тебя в темпе юзерпрофайл написан в реестре?
источник

L

LGG in Powershell Rus
да. по умолчанию в .default так же. на Win7\2008+

Прописана именно строка "%USERPROFILE%"
и она автоматом конвертируется в консоли в "C:\Users\MyUserName"
источник

A

Aleksandr in Powershell Rus
PS > $r.GetValue('Path','', 'DoNotExpandEnvironmentNames')
%USERPROFILE%\AppData\Local\Microsoft\WindowsApps;
источник

A

Aleksandr in Powershell Rus
PS > (New-Object -ComObject WScript.Shell).RegRead("HKEY_USERS\S-1-5-18\Environment\Path")
%USERPROFILE%\AppData\Local\Microsoft\WindowsApps;
источник

A

Aleksandr in Powershell Rus
https://docs.microsoft.com/en-us/dotnet/api/microsoft.win32.registry.getvalue?view=windowsdesktop-5.0
When the GetValue method retrieves expandable string values (RegistryValueKind.ExpandString), it expands environment strings using data from the local environment. If a value containing expandable references to environment variables has been stored as a string (RegistryValueKind.String), rather than as an expandable string (RegistryValueKind.ExpandString), GetValue does not expand it. You can expand such a string after it has been retrieved by calling the Environment.ExpandEnvironmentVariables method.

Т.е. все документировано.
источник

L

LGG in Powershell Rus
Генитально! А слона то я и не заметил. Благодарю
источник

I

Ivan in Powershell Rus
Всем привет. Подскажите, давно не работал в powershell,  задачка - есть юзер, он состоит в каких то группах. Как узнать на какие сетевые ресурсы на файловых серверах группы этого пользователя распространяются и вообще именно этот юзер(возможно где то точечно добавлен на какие то папки)? Возможно ли это выгрузить в виде таблицы?
источник

EK

Evgeny Khitrinevich in Powershell Rus
Возможно, но тебе нужно будет пройтись по всем ресурсам и папками, чтобы это узнать
источник

VB

Vector BCO in Powershell Rus
возможно, но долго
источник

EK

Evgeny Khitrinevich in Powershell Rus
acl хранятся не в профиле юзера, а в свойствах объекта
источник

VB

Vector BCO in Powershell Rus
для этих целей обычно юзают отдельных софт который часто еще и не бесплатный
источник

VB

Vector BCO in Powershell Rus
софт время от времени делает инвентаризацию и хранит ее в базе, и админу предоставляет отчеты основываясь на этой базе
источник

VB

Vector BCO in Powershell Rus
второй варик это включить аудит, подождать чутка (неделю/месяц) и собрать события аудита
так будет понятно куда пользюк ходит, но не покажет куда может ходить
источник

VG

Vasily Gusev in Powershell Rus
а если что-то конкретное проверить - есть еще effective permissions в свойствах объекта
источник

AF

Alexey D. Filimonov ... in Powershell Rus
Пробежаться по серверам только и проверить все объекты. ACL хранится там где применяется.
источник