Usuário com melhor resposta
Mapear Pastas / Mapear Impressoras e definir uma como default

Pergunta
-
Bom dia pessoal,
Hoje em dia minha empresa utiliza bats no profile pro AD para mapear pastas e impressoras, só que unificamos com outra emrpesa e agora tenho win xp win vista e win 7 na rede, e os comandos em bat não são aceitos nos 3 windows algumas coisas um entende e o outro não.
Tenho o script abaixo e preciso "converte-lo" para vbs, alguem pode dar uma ajuda? e preciso também adicionar nele como faço para mapear impressoras.
@echo »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
@echo »»»» »»»»
@echo »»»» Aguarde... Mapeando Drives de Rede »»»»
@echo »»»» »»»»
@echo »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
@echo off
REM *** REMOVENDO OS DRIVES MAPEADOS ***
NET USE F: /D
NET USE G: /D
NET USE H: /D
NET USE I: /D
NET USE J: /D
NET USE K: /D
NET USE L: /D
NET USE M: /D
NET USE N: /D
NET USE O: /D
NET USE P: /D
NET USE Q: /D
NET USE R: /D
NET USE S: /D
NET USE T: /D
NET USE U: /D
NET USE V: /D
NET USE W: /D
NET USE X: /D
NET USE Y: /D
NET USE Z: /D
REM *** MAPEANDO OS DRIVES DE REDE ***
NET USE H: \\STSRV01\%USERNAME% /persistent:NO
NET USE N: \\STSRV01\FINANCEIRO /persistent:NO
NET USE P: \\STSRV01\PUBLICO /persistent:NO
Muito obrigado a todos.
Respostas
-
Paulo,
Segue um script eficaz de mapeamento de unidades.
'SCRIPT PARA MAPEAMENTO DOS NETWORK DRIVES
On Error Resume Next
Set objSysInfo = CreateObject("ADSystemInfo")
Set objNetwork = CreateObject("Wscript.Network")
set objFSO = CreateObject("Scripting.FilesystemObject")
'Remoção dos compartilhamentos atuais das Unidades
if (objFSO.DriveExists("G:")) then
objNetwork.RemoveNetworkDrive "G:"
end If
if (objFSO.DriveExists("H:")) then
objNetwork.RemoveNetworkDrive "H:"
end If
if (objFSO.DriveExists("P:")) then
objNetwork.RemoveNetworkDrive "P:"
end if
if (objFSO.DriveExists("S:")) then
objNetwork.RemoveNetworkDrive "S:"
end if
if (objFSO.DriveExists("T:")) then
objNetwork.RemoveNetworkDrive "T:"
end if
if (objFSO.DriveExists("U:")) then
objNetwork.RemoveNetworkDrive "U:"
end if
if (objFSO.DriveExists("V:")) then
objNetwork.RemoveNetworkDrive "V:"
end if
if (objFSO.DriveExists("W:")) then
objNetwork.RemoveNetworkDrive "W:"
end if
if (objFSO.DriveExists("X:")) then
objNetwork.RemoveNetworkDrive "X:"
end if
if (objFSO.DriveExists("Y:")) then
objNetwork.RemoveNetworkDrive "Y:"
end if
if (objFSO.DriveExists("Z:")) then
objNetwork.RemoveNetworkDrive "Z:"
end if
strUserPath = "LDAP://" & objSysInfo.UserName
Set objUser = GetObject(strUserPath)
'Mapeamento privado dos usuários na unidade H, você deve criar uma pasta exatamente com o login do usuário
objNetwork.MapNetworkDrive "H:", "\\servidor\compartilhamento\"&objuser.samaccountname
'Mapeamento da pasta publica
objNetwork.MapNetworkDrive "P:", "\\servidor\Publico"
'Renomeando para o nome do usuário
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace("H:").Self.Name = objuser.samaccountname
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace("H:").Self.Name = "Nome da Empresa - "&objuser.samaccountname
'Renomeando a pasta pública para o nome da empresa
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace("P:").Self.Name = "Nome da Empresa - Publico"
'Mapeamento para as pastas do setor dando permissão aos usuários que pertencem aos grupos dos setores da empresa
'Renomeando pastas para o nome do SETOR
dim X
x = 0
For Each strGroup in objUser.MemberOf
strGroupPath = "LDAP://" & strGroup
Set objGroup = GetObject(strGroupPath)
strGroupName = objGroup.CN
if x = 0 then strNomeUnidade = "W:" end if
if x = 1 then strNomeUnidade = "W:" end if
if x = 2 then strNomeUnidade = "X:" end if
if x = 3 then strNomeUnidade = "Y:" end if
if x = 4 then strNomeUnidade = "Z:" end if
if x = 5 then strNomeUnidade = "V:" end if
if x = 6 then strNomeUnidade = "U:" end if
if x = 7 then strNomeUnidade = "T:" end if
if x = 8 then strNomeUnidade = "S:" end if
if x = 9 then strNomeUnidade = "R:" end if
if x = 10 then strNomeUnidade = "Q:" end if
Select Case strGroupName
Case "Nome de um Grupo no AD"
objNetwork.MapNetworkDrive strNomeUnidade, "\\servidor\Pasta Compartilhada do Grupo"
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(strNomeUnidade).Self.Name = "Nome da Empresa - Nome do Grupo"
Case "Nome de um Grupo no AD"
objNetwork.MapNetworkDrive strNomeUnidade, "\\servidor\Pasta Compartilhada do Grupo"
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(strNomeUnidade).Self.Name = "Nome da Empresa - Nome do Grupo"
end select
x = x + 1
Next
'Fim do script
---------------------------------------------------------------------------------------------------------------------------------------------
Agora um script de mapeamento de impressoras e definição como padrão
On Error Resume Next
set objNetwork= CreateObject("WScript.Network")
strDom = objNetwork.UserDomain
strUser = objNetwork.UserName
Set objUser = GetObject("WinNT://" & strDom & "/" & strUser & ",user")
'i=0
For Each objGroup In objUser.Groups
Case "Nome do Grupo no AD"
objNetwork.AddWindowsPrinterConnection "\\servidor\impressora compartilhada"
Case "Nome do Grupo no AD"
objNetwork.AddWindowsPrinterConnection "\\servidor\impressora compartilhada 1"
objNetwork.AddWindowsPrinterConnection "\\servidor\impressora compartilhada 2"objNetwork.SetDefaultPrinter "\\servidor\impressora compartilhada 2"End Select
Next
---------------------------------------------------------------------------------------------------------------------------------------------
Qualquer dúvida, entre em contato.
Caso tenha sido útil, classifique.
Jonathan Gonçalves Cordeiro- Marcado como Resposta Richard Juhasz terça-feira, 10 de abril de 2012 17:27