1

Я пытаюсь добавить надстройку Excel для своих клиентов, используя logonscript. Я проверил, возможно ли добавить его с помощью объектов групповой политики, и, к сожалению, это не так (даже если вы можете вручную исключить их -__- GG MS). Причина, по которой я не просто копирую .xlam в папку addins, заключается в том, что мы иногда обновляем его, чтобы у них был доступ к нему с сетевого диска. Моя проблема в том, что ключ находится в CURRENT_USER, и поэтому мне нужен SID текущего пользователя. Теперь мой вопрос: как мне получить SID пользователя и использовать его в файле .reg?

Файл .reg выглядит так:

Windows Registry Editor Version 5.00
[HKEY_USERS\\****SID****\Software\Microsoft\Office\12.0\Excel\Options]
"OPEN"="\"\\****MACRO****.xlam\""

Какой самый простой способ получить SID здесь?

Заранее спасибо!

2 ответа2

1

Мне нужен SID текущего пользователя

Вы можете использовать wmic .

Из командной строки:

wmic useraccount where name='%username%' get sid

F:\test>wmic useraccount where name='%username%' get sid
SID
S-1-5-21-1699878757-1063190524-3119395976-1000

Из командного файла (GetSID.cmd):

@echo off
setlocal
rem use findstr to strip blank lines from wmic output
rem skip the heading
for /f "usebackq skip=1" %%i in (`wmic useraccount where name^="%username%" get sid ^| findstr /r /v "^$"`) do (
  set _sid=%%i
  )
echo %_sid%
endlocal    

Заметки:

  • Пакетный файл хранит SID в %_sid% для позднего использования при необходимости.

Пример использования:

F:\test>GetSID
S-1-5-21-1699878757-1063190524-3119395976-1000

F:\test>

Как я могу использовать SID текущего пользователя в файле .reg ?

Возможно, самый простой вариант - использовать команду reg для добавления ключей, необходимых непосредственно в реестр.

Вы можете написать командный файл, который:

  1. Запускает команду wmic .

  2. Сохраняет SID в переменной среды, например, %_sid% .

  3. Я сделал это уже в командном файле GetSID.cmd выше.

  4. Теперь добавьте соответствующие команды reg add с %-sid% в правильном месте, чтобы добавить значения в реестр.


Дальнейшее чтение

0

Ладно, я разобрался с решением проблемы с лицевой маской. Очевидно, ключ также существует в HKEY_CURRENT_USER, так что это, безусловно, самое простое решение.

Но большое спасибо за другое решение! Я, скорее всего, буду использовать ваш метод реализации командного файла в моем решении.

Спасибо за комплексное, отличное и безумно быстрое решение, Дэвид!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .