Comandos úteis de script de logon

4

Por favor, poste comandos úteis que você usa no seu script de login .

Aqui estão algumas que eu uso:

map a network drive:
net use v: \fileserver\apps
map a network printer:
RunDll32.EXE printui.dll,PrintUIEntry /in /n "\printserver\Xerox DC1100 PCL"
delete a network printer:
RunDll32.EXE printui.dll,PrintUIEntry /dn /q /n "\printserver\HP LaserJet 2300"
disable windows firewall:
netsh firewall set opmode disable
install a new program:
if not exist "C:\Program Files\Antivirus\" "V:\Antivirus\install.msi"
create a shortcut on users Desktop:
copy "V:\shortcuts\dictionary.lnk" "%USERPROFILE%\Desktop"

    
por onesysadmin 05.06.2009 / 01:49

7 respostas

5

Eu poderia ser votado por isso, mas que assim seja. Eu sempre considerei scripts de logon um tipo de hacker e tente usá-los apenas como último recurso. Há tantas maneiras de gerenciar sistemas e usuários hoje em dia, como Política de Grupo, Preferências de Política de Grupo e SCCM / SMS. Quero dizer, sempre haverá casos em que simplesmente não há uma maneira melhor de fazer as coisas. Mas muitos dos exemplos fornecidos até agora podem ser facilmente realizados sem um script de login, como instalar software e mapear unidades de rede.

    
por 04.06.2009 / 21:04
3

Aqui está um dos meus favoritos. Temos mais de 700 usuários e várias divisões e subgrupos que exigem suas próprias unidades. Estamos mapeando com base no nome de usuário atualmente:

if %username% == [username] net use /delete Z:\
if %username% == [username] net use Z: \servername\share

outra é o mapeamento de homedrives:

net use H: \homeserver\%username% /persistent:yes

    
por 04.06.2009 / 19:51
1

Para os mapeamentos de unidade, usamos vbscript (na verdade, usamos arquivos .vbs em vez de arquivos .bat, independentemente dos scripts de login):

Set WshNetwork = CreateObject("WScript.Network") WshNetwork.MapNetworkDrive "H:", "\fwmnas\qip"

Eu também tenho parte necessária para determinar se o sistema operacional é x86 ou x64:

'Determine if OS is 32 bit or 64 bit first

Set WshShell = WScript.CreateObject("WScript.Shell") X = WshShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE") If X = "x86" Then

Isso é muito básico, mas basicamente você tem uma parte IF THEN ELSE que diz que se for 32 bits, faça isso ... Caso contrário, deixei de fora o resto do código. Se você estiver interessado em mais, me avise.

    
por 04.06.2009 / 20:15
1

Eu já documentei meu script de login kix, que faz praticamente as mesmas coisas que você está exigindo aqui: link .

Dê uma olhada e deixe-me saber se você tem outros requisitos. Eu pessoalmente descobri que o KIX é realmente fácil de entender e para um Administrador do Sistema que nunca viu a linguagem de script KIX antes, você achará muito fácil e direto quando você visualizar os comandos.

    
por 08.05.2011 / 11:02
1

O utilitário IFMEMBER.EXE é antigo, mas funciona com todas as versões do Windows até o 7 e é extremamente útil para scripts condicionais baseados em membros do grupo do AD.

IFMEMBER Marketing | net use m: \\server\marketingshare

ou

IFMEMBER TestUsers | cmd /c t:\scripts\runsomescript.cmd

link: link

    
por 14.11.2012 / 19:28
0

Talvez exista uma maneira melhor de fazer isso até agora, mas tenho uma política que se aplica apenas à minha unidade organizacional do servidor que executa bginfo.exe com parâmetros:% logonserver% \ netlogon \ bginfo \ server.bgi / timer: 0

Ele lança alguns bits de escolha como plano de fundo, para facilitar a identificação das sessões remotas.

    
por 04.06.2009 / 21:33
0

Isso é feito há muito tempo, mas se você não estiver usando o DFS ou algo semelhante, poderá encontrar algum uso para isso (se tiver scripts idênticos em execução em locais diferentes para garantir que os arquivos sejam executados ou copiados do local correto servidores):

Dim WSHShell,strRegKey, DFS, DCName

Set WSHShell = WScript.CreateObject("WScript.Shell") 
strRegKey="HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\History\DCName" 
DCName = lcase(WSHShell.RegRead(strRegKey))

If DCName = "\NADC01.domain.com" or DCName = "\NADC02.domain.com" then
    DFS = "NAsite"
ElseIf  DCName = "\UKDC01.domain.com" or DCName = "\UKDC02.domain.com" then
    DFS = "UKsite"
Else
    DFS = "anotherSite"
End If

WshShell.Run("\domain\" & DFS & "\DfsRoot\share\script.cmd")
    
por 24.06.2009 / 00:55