script de logon para mapear a unidade de rede

3

Estou tentando ocultar o caminho de rede das pastas compartilhadas dos usuários do domínio. (janelas 2013) Eu encontrei este script enquanto procurava pela rotulagem da unidade de rede.

$a = New-Object -ComObject shell.application
$a.NameSpace( "H:\" ).self.name = "Network Drive "

Se eu executar o script abrindo o shell de energia manualmente, ele rotulará com êxito o compartilhamento de rede e ocultará o caminho de rede do usuário.

Por favor, guie-me como torná-lo um script de logon, para que quando o usuário fizer login, esse script seja executado e sua unidade de rede seja renomeada.

Não tenho ideia sobre o script do windows. então eu vou precisar de ajuda passo a passo para fazer isso funcionar.

    
por sadia rehman 04.03.2017 / 08:29

1 resposta

0

Como você já tem uma lógica do PowerShell que funciona como você confirmou e precisa saber como fazer isso funcionar a partir do script de login, basta anexar o exemplo lógico fornecido abaixo com sua lógica necessário. Apenas certifique-se de que sua lógica para mapear as unidades seja executada antes que essa lógica seja executada.

Eu forneci o Configurando um logon Script por meio de Usuários e Computadores do Active Directory que você pode analisar para obter mais detalhes detalhados sobre a configuração de um script de login, que é uma tarefa relativamente simples.

Se você estiver usando um script em lote, basta anexar a lógica ao final do processo, conforme mostrado abaixo. Se você estiver usando um script VB, consulte Execute um arquivo VBScript aqui para ver o exemplo objShell.Run "c:\batch\test.cmd" , mas você criaria e apontaria para \DomainController\sysvol\<domain>\scripts\<Batch>.cmd

Exemplo de script de login em lote

Eu testei e confirmei que isso funciona como esperado em um ambiente de domínio em um PC Windows com um script de login de uma conta de usuário de domínio.

<your existing batch login script logic up here>
<you will ensure the logic to map the drives has already been run>

SET TmpPSScript=%Temp%\~tmp_RenameDrive.ps1
IF EXIST "%TmpPSScript%" DEL /Q /F "%TmpPSScript%"
ECHO $a = New-Object -ComObject shell.application >>"%TmpPSScript%"
ECHO $a.NameSpace( "H:\" ).self.name = "Homes"    >>"%TmpPSScript%"

SET PowerShellDir=C:\Windows\System32\WindowsPowerShell\v1.0
CD /D "%PowerShellDir%"
Powershell -ExecutionPolicy Bypass -Command "& '%TmpPSScript%'"

EXIT

Recursos adicionais

por 07.03.2017 / 01:25