Установка надстроек Excel в logonscript (Как использовать SID текущего пользователя в cmd)

1

Я пытаюсь добавить надстройку Excel для своих клиентов, используя logonscript. Я проверил, возможно ли добавить его с помощью объектов групповой политики, и, к сожалению, это не так (даже если вы можете вручную исключить их -__- GG MS). Причина, по которой я не просто копирую .xlam в папку надстроек, заключается в том, что мы иногда обновляем его, чтобы у них был доступ к нему с сетевого диска. Моя проблема в том, что ключ находится в 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 здесь?

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

Фредерик И.Х.
источник

Ответы:

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, так что это, безусловно, самое простое решение.

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

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

Фредерик И.Х.
источник