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 é que nosso ambiente é bastante confuso, com alguns usuários ainda usando scripts de logon, enquanto outros usam GPO para tudo.
Aqui está o arquivo em lote que desejo 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\"
)
Criei um novo GPO > coloquei o script no diretório dessa política \\domain\SysVol\domain\Policies\{}\Machine\Scripts\Startup
> adicionei o script ao Computer Configuration > Policies > windows Settings > Scripts > Startup > script.bat
. Vinculei esse GPO à UO criada e o objeto de computador está nessa UO.
Fiz um GPResult e vejo que o GP foi aplicado, mas não criou o link simbólico que esperava. Há algum problema com o NT Authority\Local System criando pastas em C:\? Tentei mudar o script para just mkdir C:\temp
e também não funcionou.
Nota: 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 mklink com Powershell sem sucesso também. Tenho certeza de que você não pode executar o mklink no script de inicialização. Então, em vez de usar esse script, eu apenas uso a segmentação por nível de item na preferência do usuário para copiar um link diferente dependendo do sistema operacional.
Responder1
É possível que a conexão de rede do seu computador não tenha sido inicializada antes que a Política de Grupo tente executar o seu script. O artigo MSKBOs clientes do Windows 7 falham intermitentemente ao aplicar a política de grupo na inicializaçãoexplica o comportamento em que os scripts de inicialização falham porque o link de rede não está pronto quando o GP executa o script. Duas soluções são oferecidas:
Através da Política de Grupo:
- Configurar oTempo de espera do processamento da política de inicializaçãoconfigurando
Computer Configuration > Policies > Admin Templates > System > Group Policy
um valor longo o suficiente para que o computador inicialize sua conexão de rede. Usei 10 segundos com grande sucesso.
Através do Registro:
- Crie o valor DWORDGpNetworkStartTimeoutPolicyValuena subchave
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
e forneça um valor de tempo de espera decimal em segundos.