YuS_2
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору westlife Цитата: 1. У вас поиск пути профиля привязан к имени выдаваемому из (Get-CimInstance Win32_ComputerSystem).UserName А если имя переименовано, то в нем будет текущее новое имя, а путь к профилю в том листе будет со старым именем, поэтому профиль не будет найден. | Вы это проверяли? Я проверял... Дело в том, что класс Win32_ComputerSystem отдает в качестве имени пользователя, как раз путь к профилю в виде: ComputerName\NameUser причем именно к имени первичного пользователя... Цитата: 2. В новом варианте у вас -in не работает. Но с like или match работает. | ааа, это я промежуточные пробы где-то взял, вместо конечного скрипта...сорри сейчас поправлю. Цитата: 3. Дополнительно. Если запускать от другого пользователя, то если нужно настраивать ветку HKСU, то нужно перенаправлять в HKEY_USERS\UserSID, и тут уже обязателен SID пользователя. Но если скрипт сложный, в котором учитывается разные написания пути к реестру, придется для всех вариантов делать подмену на HKEY_USERS\UserSID, а это лишний геморой. Но это нужно будет учитывать, делая такую поддержку запуска. | реестр там требуется только для получения списка профилей, никаких изменений не вносится. В принципе, можно и через SID, конечно, но в этом, частном случае, само имя пользователя не требуется, требуется путь к профилю. Добавлено: Smitis Цитата: Просто знаю, как это делается по-уму. Берётся "сырая" командная строка и парсится самостоятельно, если стандартный парсер не подходит (а он слишком специфичный), если надо что-то чуть сложнее, чем просто параметры в кавычках или без. На час работы. Но разработчики PS "ниасилили". Зато придумали костыль в виде EncodeCommand. | Согласен, костыль придумали, но хотя бы описали это в документации и на том спасибо. Про кавычки, кстати, тоже... я там цитату приводил... | Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 15:00 20-03-2019 | Исправлено: YuS_2, 15:13 20-03-2019 |
|