Я работаю над сценарием, который запускается под специальной утилитой установки, которая работает как служба.Чтобы получить текущее имя пользователя, скрипт выполняет следующую команду:
str_Acct_Name_Val = "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Logon User Name"
str_Acct_Name = RegRead(str_Acct_Name_Val)
Когда я запускаю скрипт из командной строки, он может прочитать это значение очень хорошо (под учетной записью администратора).При попытке чтения значения с привилегиями службы / локальной системы чтение завершается неудачно.
В чем здесь проблема?
РЕДАКТИРОВАТЬ: некоторая дополнительная информация.При запуске в качестве службы, вызывающей текущее имя пользователя, возвращается «SYSTEM», и я предполагаю, что HKCU не «существует» в представлении SYSTEM, поскольку технически нет текущего пользователя.Пользователь вошел в систему в данный момент, но не в рамках запущенного скрипта.Может быть, где-то в HKLM я мог бы найти текущего пользователя?