Script VBS : Création auto des partages et imprimantes

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search

Voici un script qui permet le monter automatiquement au démarrage des lecteurs réseaux et des imprimantes.

Avec ActiveDirectory, il suffit de modifier le profil et de taper le nom du scripts (netlogon.vbs).

Ensuite il ne reste plus qu'à le copier dans le bon dossier, c'est à dire sur le serveur : \\127.0.0.1\netlogon"

  • Voici la version téléchargable :

Télécharger netlogon.vbs

  • Le code :
'****************************************************************************
' Zone Constante
'****************************************************************************
Const Domaine = "MONDOMAINE"
'****************************************************************************
' Zone Non Modifiable
'****************************************************************************
On Error Resume Next
 
Dim VReseau		'objet reseau(network)
Dim lecteurs		'listes des lecteurs
Dim Imprimantes		'liste des imprimantes
 
Set VReseau = WScript.CreateObject ("WScript.NetWork")
Set Lecteurs = VReseau.EnumNetworkDrives()
Set Imprimantes = VReseau.EnumPrinterConnections()		
Set Utilsateur = GetObject("WinNT://" & Domaine & "/" & VReseau.username)
Trouver = False
'****************************************************************************
' Zone Modifiable
'****************************************************************************
 
PARTAGE_MONDOMAINE = False
PARTAGE_SHARE  = False
PARTAGE_SALES  = False
PARTAGE_DATA   = False
 
'For Each Groupe in Utilsateur.Groups
'  SELECT CASE Groupe.Name
'    CASE "TOTO"
'	SuppressionImprimante "\\192.168.0.x\IMPRIMANTE$" , "\\192.168.0.x\IMPRIMANTE$"
'	ImprimanteReseau "\\192.168.0.x\IMPRIMANTE$" , "\\192.168.0.x\IMPRIMANTE$" , True
'    END SELECT
'Next
 
SuppressionImprimante "\\192.168.0.x\IMPRIMANTE" , "\\192.168.0.x\IMPRIMANTE"
ImprimanteReseau "\\192.168.0.x\IMPRIMANTE" , "\\192.168.0.x\IMPRIMANTE" , True
If PARTAGE_SHARE Then
  LecteurReseau "S:" , "\\AMAZONE\SHARE"
End If
If PARTAGE_SALES Then
  LecteurReseau "T:" , "\\AMAZONE\SALES"
End If
If PARTAGE_TMP Then
  LecteurReseau "X:" , "\\AMAZONE\TMP"
End If
 
WScript.Quit
 
'*****************************************************************************
' Zone Non Modifiable
'****************************************************************************
 
Function LecteurReseau (Lettre,Chemin)	'Creation de lecteurs reseaux
					'Lettre:nom de la lettre avec les ":"
					'Chemin:Chemin du dossier partage
 
  Dim i		'index des lecteurs
 
  On Error Resume Next
 
  For i = 0 to Lecteurs.Count-1 Step 2			'
    If Lecteurs.Item(i) = Lettre Then			'
      VReseau.RemoveNetworkDrive Lettre,True,True	'Supprime le lecteur s'il existe
    End if						'
  Next							'
  VReseau.MapNetworkDrive Lettre,Chemin			'créé le lecteur
  If Err.Number <> 0 Then
    err.clear 
    MsgBox "Impossible de créé la lettre """ & Lettre & """ vers le chemin """ & Chemin & """, veuillez prevenir votre administrateur réseaux"
  End If
  On Error Goto 0
end Function
 
Function ImprimanteReseau (Chemin,Nom,ImprimanteDefaut)	'Creation d une imprimante reseaux
							'Chemin:chemin reseau imprimante
							'ImprimanteDefaut:vrai pour definir l imprimante par defaut
 
 
  Dim i			'index d imprimante
  Dim Trouver 		'vrai si imprimante existe
 
  On Error Resume Next
 
  Trouver = False
  For i = 0 to Imprimantes.Count-1 Step 2		'
    If Imprimantes.Item(i+1) = Nom Then		'
      Trouver = True					'Cherche si l imprimante existe
    End if						'
  Next							'
  If Not Trouver Then
    VReseau.AddWindowsPrinterConnection Chemin
    If Err.Number <> 0 Then
      err.clear 
      MsgBox "Impossible de créé l'imprimante """ & chemin & """, veuillez prevenir votre administrateur réseaux"
    Else
      If ImprimanteDefaut Then
        VReseau.SetDefaultPrinter Chemin
      End If
    End If
  End if
  On Error Goto 0
end Function
 
Function SuppressionLecteur (Lettre)
 
  Dim i	'index des lecteurs
 
  For i = 0 to Lecteurs.Count-1 Step 2			'
    If Lecteurs.Item(i) = Lettre Then			'
      VReseau.RemoveNetworkDrive Lettre,True,True	'Supprime le lecteur s'il existe
    End if						'
  Next							'
End Function
 
 
Function SuppressionImprimante (Chemin,Nom)
 
  Dim i			'index d imprimante
 
  For i = 0 to Imprimantes.Count-1 Step 2
    'msgbox Imprimantes.Item(i+1)
    If Imprimantes.Item(i+1) = Nom Then		
      VReseau.RemovePrinterConnection Chemin,True,True	'Supprime l imprimante si elle existe
    End if						'
  Next							'
End Function
 
'Function Proxy_ADSL (AdresseIp)
'
'  Dim WshShell
'  On Error Resume Next
'
'  Set WshShell = WScript.CreateObject("WScript.Shell")
'  WshShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyOverride", "<local>" ,"REG_SZ"
'  WshShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyServer", AdresseIp ,"REG_SZ"
'  WshShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable", "1"
'End Function
 
'Function Server_Antivirus
'
'  Dim WshShell
'  On Error Resume Next
'
'  Set WshShell = WScript.CreateObject("WScript.Shell")
'  WshShell.RegWrite "HKLM\SOFTWARE\INTEL\LANDesk\VirusProtect6\CurrentVersion\AlertDirectory", "\\PLUTON\VPALERT$" ,"REG_SZ"
'  WshShell.RegWrite "HKLM\SOFTWARE\INTEL\LANDesk\VirusProtect6\CurrentVersion\Parent", "PLUTON" ,"REG_SZ"
'  WshShell.RegWrite "HKLM\SOFTWARE\INTEL\LANDesk\VirusProtect6\CurrentVersion\RemoteHomeDirectory", "\\PLUTON\VPHOME" , "REG_SZ"
'End Function