Acabei criando um arquivo de registro para usar na diretiva de grupo quando o usuário fizer logon. Neste caso, tenho um exemplo abaixo sobre o que fiz para usar variáveis de ambiente no registro.
É meio complicado, mas muito fácil de fazer. Este exemplo permitiria que você abrisse um determinado tipo de arquivo (* .test) com um programa (Notepad ++) que reside em um diretório específico do usuário. Eu usei isso para um cenário no meu Windows 2008 servidor executando Remote Desktop (AKA Terminal Server) para permitir que cada usuário use um programa instalado por conta de usuário PER para que diferentes configurações podem ser usadas por usuário (ex: *. Inini arquivos localizados dentro do diretório de aplicativos). Nota: Não que isso importe, mas a pasta "programs" está oculta para que os usuários não a vejam.
Paths:
Application (notepad++): Y:\%username%\programs\Notepad++\notepad++.exe
File To Open (File.test): Y:\%username%\TestFiles\File.test
Etapa 1. SE você estiver usando perfis obrigatórios, certifique-se de alterar o arquivo NTUSER.MAN de volta para NTUSER.DAT.
Passo 2. Faça o login no perfil que você deseja editar usando o Remote Desktop Client.
Etapa 3. Abra o regedit e exclua as seguintes chaves, se existirem.
HKEY_CURRENT_USER\Software\Classes\Applications\notepad++.exe HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts.test
Etapa 4. Crie um novo arquivo de texto e nomeie-o como "original.reg". Preencha com o seguinte ...
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\Applications\notepad++.exe]
[HKEY_CURRENT_USER\Software\Classes\Applications\notepad++.exe\shell]
[HKEY_CURRENT_USER\Software\Classes\Applications\notepad++.exe\shell\open]
[HKEY_CURRENT_USER\Software\Classes\Applications\notepad++.exe\shell\open\command]
@=""
Etapa 5. Atualize o registro (F5) e procure a nova chave. Deverá ver a tecla "command" com o valor "(Default)" em branco. Na chave "command", adicione um novo "Valor da string expansível" chamado "New Value # 1". Defina o valor para o caminho do aplicativo "Y: \% nome_do_usuário% \ programas \ Notepad ++ \ notepad ++. Exe" "% 1" . Em seguida, exporte a chave "command" para a área de trabalho como "expanded.reg".
Passo 6. Edite o arquivo "expanded.reg" no bloco de notas e copie todos os dados após o "Novo valor # 1" . Ex: = hex (2): 22 ...
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\Applications\notepad++.exe\shell\open\command]
@=""
"New Value #1"=hex(2):22,00,59,00,3a,00,5c,00,25,00,75,00,73,00,65,00,72,00,6e,00,\
61,00,6d,00,65,00,25,00,5c,00,70,00,72,00,6f,00,67,00,72,00,61,00,6d,00,73,\
00,5c,00,4e,00,6f,00,74,00,65,00,70,00,61,00,64,00,2b,00,2b,00,5c,00,6e,00,\
6f,00,74,00,65,00,70,00,61,00,64,00,2b,00,2b,00,2e,00,65,00,78,00,65,00,22,\
00,20,00,22,00,25,00,31,00,22,00,00,00
Passo 7. Feche o arquivo expand.reg e abra o arquivo "original.reg" e substitua o comando padrão (que está vazio "") pelo novo valor hexadecimal que temos em nossa área de transferência. O arquivo "original.reg" deve se parecer com o seguinte agora ...
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\Applications\notepad++.exe]
[HKEY_CURRENT_USER\Software\Classes\Applications\notepad++.exe\shell]
[HKEY_CURRENT_USER\Software\Classes\Applications\notepad++.exe\shell\open]
[HKEY_CURRENT_USER\Software\Classes\Applications\notepad++.exe\shell\open\command]
@=hex(2):22,00,59,00,3a,00,5c,00,25,00,75,00,73,00,65,00,72,00,6e,00,\
61,00,6d,00,65,00,25,00,5c,00,70,00,72,00,6f,00,67,00,72,00,61,00,6d,00,73,\
00,5c,00,4e,00,6f,00,74,00,65,00,70,00,61,00,64,00,2b,00,2b,00,5c,00,6e,00,\
6f,00,74,00,65,00,70,00,61,00,64,00,2b,00,2b,00,2e,00,65,00,78,00,65,00,22,\
00,20,00,22,00,25,00,31,00,22,00,00,00
Etapa 8. Agora que temos nossa variável expandida pronta para uso, basta adicionar uma extensão para associar ao aplicativo. Adicione o seguinte ao arquivo "original.reg", fazendo com que pareça o seguinte ...
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\Applications\notepad++.exe]
[HKEY_CURRENT_USER\Software\Classes\Applications\notepad++.exe\shell]
[HKEY_CURRENT_USER\Software\Classes\Applications\notepad++.exe\shell\open]
[HKEY_CURRENT_USER\Software\Classes\Applications\notepad++.exe\shell\open\command]
@=hex(2):22,00,59,00,3a,00,5c,00,25,00,75,00,73,00,65,00,72,00,6e,00,\
61,00,6d,00,65,00,25,00,5c,00,70,00,72,00,6f,00,67,00,72,00,61,00,6d,00,73,\
00,5c,00,4e,00,6f,00,74,00,65,00,70,00,61,00,64,00,2b,00,2b,00,5c,00,6e,00,\
6f,00,74,00,65,00,70,00,61,00,64,00,2b,00,2b,00,2e,00,65,00,78,00,65,00,22,\
00,20,00,22,00,25,00,31,00,22,00,00,00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.test]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.test\OpenWithList]
"a"="notepad++.exe"
"MRUList"="a"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.test\OpenWithProgids]
"Notepad++_file"=hex(0):
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.test\UserChoice]
"Progid"="Applications\notepad++.exe"
Etapa 9. Abra o regedit e exclua as seguintes chaves, se existirem. (Sim, faça isso de novo) ... Agora o registro é como se nunca tivéssemos feito nada e temos um arquivo de registro pronto para ser inserido no registro!
HKEY_CURRENT_USER\Software\Classes\Applications\notepad++.exe HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts.test
Passo 10. Se quiser aplicar isto ao perfil atual, EXECUTE O ARQUIVO DE REGISTRO "original.reg" e insira-o no registro.
E é isso! Agora todos os arquivos * .test serão abertos com "Y: \% username% \ programas \ Notepad ++ \ notepad ++. Exe". Vá verificar o registro e veja a nova entrada padrão.