Instalando addins do Excel no logonscript (Como usar o SID do usuário atual no cmd)

1

Estou tentando adicionar um suplemento do Excel aos meus clientes usando o logonscript. Eu verifiquei se é possível ou não adicioná-lo usando GPOs e, infelizmente, não é (mesmo que você possa excluí-los manualmente -__- GG MS). A razão pela qual eu não copio apenas o .xlam para a pasta addins é porque nós o atualizamos às vezes para que eles tenham que acessá-lo de uma unidade de rede. Meu problema é que a chave está em CURRENT_USER e, portanto, preciso do SID do usuário atual. Agora minha pergunta é como obter o SID do usuário e usá-lo no arquivo .reg?

O arquivo .reg é assim:

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

Qual é a maneira mais fácil de obter o SID aqui?

Agradecemos antecipadamente!

    
por Frederik IH 08.03.2016 / 13:45

2 respostas

1

Eu preciso do SID do usuário atual

Você pode usar wmic .

Na linha de comando:

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

De um arquivo de lote (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    

Notas:

  • O arquivo em lote armazena o SID em %_sid% para uso posterior, se necessário.

Exemplo de uso:

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

F:\test>

Como posso usar o SID do usuário atual em um arquivo .reg ?

A opção mais fácil é provavelmente usar o comando reg para adicionar as chaves necessárias diretamente ao registro.

Você pode escrever um arquivo em lote que:

  1. Executa o comando wmic .

  2. Salva o SID em uma variável de ambiente, por exemplo, %_sid% .

  3. Já fiz isso no arquivo de lote GetSID.cmd acima.

  4. Agora, adicione os comandos reg add apropriados com %-sid% no local correto para adicionar os valores ao registro.

Leitura adicional

por 08.03.2016 / 14:19
0

Ok, eu descobri a solução facepalm para o meu problema. Aparentemente, a chave também existe em HKEY_CURRENT_USER, então essa é de longe a solução mais fácil.

Mas muito obrigado pela outra solução! Provavelmente usarei seu método de implementação de arquivo de lote na minha solução.

Obrigado pela solução abrangente, excelente e insanamente rápida, David!

    
por 08.03.2016 / 14:43