Executando o arquivo em lote com direitos elevados por meio do GPO

3

Eu tenho um atalho que usa especificamente o Google Chrome. Temos XP e Windows 7 em nosso ambiente e quero usar apenas um atalho para ambos os sistemas operacionais. A razão disso é que nosso ambiente é bastante confuso, com alguns usuários ainda usando scripts de logon, enquanto outros usam o GPO para tudo.

Aqui está o arquivo em lote que eu quero usar para o script de inicialização do computador:

if exist "C:\Program Files\Google\" (
    mklink /d "C:\Program Files\Google\Chrome" "C:\Program Files (x86)"\Google\Chrome"
) else (
    mklink /d "C:\Program Files\Google\" "C:\Program Files (x86)"\Google\"
)

Eu criei um novo GPO > coloque o script no diretório para essa política \domain\SysVol\domain\Policies\{}\Machine\Scripts\Startup > adicione o script a Computer Configuration > Policies > windows Settings > Scripts > Startup > script.bat . Vinculei esse GPO à unidade organizacional de criação e o objeto de computador está nessa unidade organizacional.

Eu fiz um GPResult e vi que o GP foi aplicado, mas ele não criou o link simbólico que estou esperando. Existe um problema com o NT Authority \ Local System criando pastas em C: \? Tentei alterar o script para apenas mkdir C:\temp e isso também não funcionou.

Observação: o script acima funciona perfeitamente se eu executar o script na Configuração do usuário e esse usuário tiver direitos de administrador.

ATUALIZAÇÃO: Tentei fazer o mklink com o Powershell sem sucesso algum. Tenho certeza que você não pode executar o mklink no script Start Up. Portanto, em vez de usar esse script, basta usar a segmentação por nível de item, em Preferências do usuário, para copiar um link diferente, dependendo do sistema operacional.

    
por shinjijai 25.02.2015 / 21:32

1 resposta

2

É possível que a conexão de rede do computador não tenha sido inicializada antes que a Diretiva de Grupo tente executar seu script. O artigo do MSKB Clientes do Windows 7 intermitentemente não aplicam a diretiva de grupo na inicialização explica o comportamento em que os Scripts de inicialização falham porque o link de rede não é ' t pronto quando GP executa o script. Duas soluções são oferecidas:

Via política de grupo:

  • Defina a configuração Tempo de espera de processamento da política de inicialização em Computer Configuration > Policies > Admin Templates > System > Group Policy para um valor longo o suficiente para o computador inicializar sua conexão de rede. Eu usei 10 segundos com grande sucesso.

Por meio do registro:

  • Crie o valor DWORD GpNetworkStartTimeoutPolicyValue na subchave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon e forneça um valor de tempo de espera decimal em segundos.
por 25.02.2015 / 22:42