Usuário com melhor resposta
Script para de logon

Pergunta
-
Meus amigos bom dia.
Estou precisando da a juda de todos, estou com uma missão de aquirir um script que consulte: Sistema Operacional e OU de um determinado computador ao usuário logar no mesmo, depois disso o mesmo tem que fazer uma chamada de um script baseado em seu Sistema Operacional e OU.
EX:
OU1-RH: OU=Computers,OU=RH,OU=CORP,DC=Contoso,DC=COM
OU2-IT: OU=Computers,OU=TI,OU=CORP,DC=Contoso,DC=COM
OU3-FIN: OU=Computers,OU=FIN,OU=CORP,DC=Contoso,DC=COM
OU4-MKT: OU=Computers,OU=MKT,OU=CORP,DC=Contoso,DC=COM
OU5-ADM: OU=Computers,OU=ADM,OU=CORP,DC=Contoso,DC=COM
ScriptXP-2003: \\contoso.com\netlogon\contoso.com\script\xp-2003.vbs
ScriptWin7-OU1-RH \\contoso.com\netlogon\contoso.com\script\Win7-RH.vbs
ScriptWin7-OU2-TI: \\contoso.com\netlogon\contoso.com\script\Win7-TI.vbs
ScriptWin7-OU3-FIN: \\contoso.com\netlogon\contoso.com\script\Win7-FIN.vbs
ScriptWin7-OU4-MKT: \\contoso.com\netlogon\contoso.com\script\Win7-MKT.vbs
ScriptWin7-OU5-ADM: \\contoso.com\netlogon\contoso.com\script\Win7-ADM.vbsUm usuário loga no Computer01
É feito o levantamento da S.O, S.O= Windows XP, depois verifica em que OU ele está, no caso ele está na OU, OU=Computers,OU=MKT,DC=Contoso,DC=COM
Ai chama o script ScriptXP-2003
Vocês podem me ajudar com esse script ?
Um abraço!
Marcus
Respostas
-
Segue exemplo (não teste vc tem que adaptar ao seu ambiente)
set oShell=CreateObject ("WScript.shell") strVersion = oShell.RegRead ("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProductName") Select Case strVersion Case "Microsoft Windows XP" 'Coloque aqui o código para windows xp Case "Windows 7 Professional" 'Coloque aqui o co´digo para windows 7 pro Case "Microsoft Windows Server 2003" 'Coloque aqui o co´digo para windows 2003 Case else 'codigo para todos os casos nao especificados end Select
Fábio de Paula Junior
- Editado Fábio JrModerator terça-feira, 12 de novembro de 2013 20:14
- Sugerido como Resposta Fábio JrModerator terça-feira, 12 de novembro de 2013 20:15
- Marcado como Resposta Fábio JrModerator quarta-feira, 13 de novembro de 2013 11:58
Todas as Respostas
-
Bom dia Marcus!
Quanto a questão da OU do computador e não o grupo que o usuário pertence...acredito que o gerenciamento terá problemas.
Um exemplo bem simples mas muito importante. Voce propoe um remanejamento de terminais após uma análise de necessidade...pronto! Vai ter que configurar todos os remanejados no AD.
Bom, eu acredito que o mais correto seria percorrer o do usuário....ex:
- Usuário: Contoso
- Grupos: Mkt, Contabilidade, Rh
O mapeamento seria, das pastas, e das impressoras dos grupos.
Bom, de qualquer forma...segue um exemplo de script por OU do computador. Para testar o script por favor utilize o um usuário com permissoes no servidor e de consulta no AD
strContainer = "ou=Computers,ou=CORP" Set objFSO = CreateObject(“Scripting.FileSystemObject”) Set WshShell = WScript.CreateObject("WScript.Shell") strCompName = WshShell.ExpandEnvironmentStrings("%COMPUTERNAME%") Set objItem = GetObject(“LDAP://cn=” & strCompName & “,” & strContainer & “,” & _ objRootDSE.Get(“defaultNamingContext”)) wscript.echo objItem.Get(“name") strmemberOf = objItem.GetEx("memberOf") For Each Item in strmemberOf wscript.echo “Member Of: ” & “,” & Item Next
Quando for selecionar a ação do script quando encontrado, utilize a função CASE. Ex:
Select Case objItem.Get(“name") Case "Mkt" 'Seu codigo Case"Cont" 'Seu Codigo Case"Inf" 'Seu Codigo End Select
Acredito que agora será apenas necessário você montar esse script conforme sua necessidade.
Qualquer duvida, poste!
[]s,
" Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda" -
Marcellus bom dia.
Eu preciso amarrar mesmo à computador e S.O a consulta, pois o usuário, precisará se logar em qualquer computador e o que será como ponteiro para determinar qual o script a ser solicitado para mostrar ao usuário será o S.O e a OU mesmo, tentei por Vlan e infelzimente não foi 100%, pois existem computadores com o Ip fixo de outra Vlan.
Eu vi que para chamar a versão do Windows precisa fazer essa chamada na chave:
set oShell=CreateObject ("WScript.shell")
strVersion = oShell.RegRead ("HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\ProductName")
strVersion = "Microsoft Windows XP"
strVersion = "Windows 7 Professional"
strVersion = "Microsoft Windows Server 2003"
Infelizmente eu não sei como montar essa estrutura, vc pode me ajudar ?Como ficaria a estrutura do script ?
Obrigado meu amigo!
Marcus
-
-
Segue exemplo (não teste vc tem que adaptar ao seu ambiente)
set oShell=CreateObject ("WScript.shell") strVersion = oShell.RegRead ("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProductName") Select Case strVersion Case "Microsoft Windows XP" 'Coloque aqui o código para windows xp Case "Windows 7 Professional" 'Coloque aqui o co´digo para windows 7 pro Case "Microsoft Windows Server 2003" 'Coloque aqui o co´digo para windows 2003 Case else 'codigo para todos os casos nao especificados end Select
Fábio de Paula Junior
- Editado Fábio JrModerator terça-feira, 12 de novembro de 2013 20:14
- Sugerido como Resposta Fábio JrModerator terça-feira, 12 de novembro de 2013 20:15
- Marcado como Resposta Fábio JrModerator quarta-feira, 13 de novembro de 2013 11:58