Romain Tiennot

Technicien Superieur en Informatique

Aller au contenu | Aller au menu | Aller à la recherche

Exporter la liste des utilisateurs

J'ai eu besoin d'exporter la liste d'utilisateur situé dans plusieurs sous OU. La console "Active Directory" permet d'exporter en format TXT ou CSV une liste d'utilisateur mais présent dans la même OU. Ce script concu par "Dforler" permet créer un fichier txt de votre choix dans le répertoire "C:\temp" avec la liste des utilisateurs présent dans l'OU que vous aurez indiqué. Il faut modifier la ligne "strDomainDN "

Voici le script

' ------ SCRIPT d'export d'utilisateurs depuis une OU 			------
' ------ Le domaine AD est a jouter en fixe dans le 			------
' ------ String StrDomainDN pour des raisons d'utilisations courantes	------

dim fso, MyFile, reptemp, filetext
 
 
 
 
' Attention à modifier le nom LDAP du domaine
strDomainDN ="ou=direction,ou=utilisateurs,dc=tiennot,dc=lan"
 
' Attention le répertoire c:\temp doit exister
reptemp="c:\temp\"
 
Filetext=Inputbox("fichier temporaire de l'OU cible : ")
Set fso = CreateObject("Scripting.FileSystemObject")
 
' création d'un fichier txt pour la première partie du script, soit le nom des utilisateurs
set MyFile = fso.CreateTextFile(reptemp + filetext + ".txt")
 
' Ici un filtre sur les utilisateurs et je récupére leur Distinguishedname
strBase   =  "<LDAP://" & strDomainDN & ">;"
strFilter = "(&(objectclass=user)(objectcategory=person));" 
strAttrs  = "distinguishedname;"
strScope  = "subtree"
 
set objConn = CreateObject("ADODB.Connection")
objConn.Provider = "ADsDSOObject"
objConn.Open "Active Directory Provider"
 
' Ici lancement de la requêtes et écriture dans le fichier txt dans le c:\temp
set objRS = objConn.Execute(strBase & strFilter & strAttrs & strScope)
objRS.MoveFirst
while Not objRS.EOF
MyFile.WriteLine (objRS.Fields(0).Value)
    objRS.MoveNext
wend
MyFile.close
 
 
' Maintenant avec le fichier txt je récupère les informations utilisateurs par utilisateurs
on error resume next
Dim objConnection, objRecords, objExcel, strQuery, i, objSpread, intRow
 
'Attention le fichier C:\sources.xls doit exister
strSheet = "c:\Source.xls"
 
Set objExcel = CreateObject("Excel.Application")
Set objSpread = objExcel.Workbooks.Open(strSheet)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set UserListe = objFSO.OpenTextFile(reptemp + Filetext + ".txt")
 
'Renseigner le numéro de la première ligne Excel ou vous souhaité écrire les inforamations
i = 2
 
  ' liste des attributs à récupérer
  Do Until UserListe.AtEndofStream
	UserLDAP = UserListe.Readline
	Set objUser = GetObject("LDAP://" & UserLDAP & "")
		CNStr = left(UserLDAP, Instr (UserLDAP, ",") -1)
		OuStr = Right(UserLDAP, len(UserLDAP) - Instr (UserLDAP, ","))
		objExcel.ActiveSheet.Range("A" & i).Value = CNStr
		objExcel.ActiveSheet.Range("B" & i).Value = OuStr
		objExcel.ActiveSheet.Range("C" & i).Value = objUser.givenName
		objExcel.ActiveSheet.Range("D" & i).Value = objUser.initials
		objExcel.ActiveSheet.Range("E" & i).Value = objUser.sn
		objExcel.ActiveSheet.Range("F" & i).Value = objUser.displayName	
		objExcel.ActiveSheet.Range("G" & i).Value = objUser.userPrincipalName
		objExcel.ActiveSheet.Range("H" & i).Value = objUser.SamaccountName
		objExcel.ActiveSheet.Range("I" & i).Value = objUser.mail
		objExcel.ActiveSheet.Range("J" & i).Value = objUser.physicalDeliveryOfficeName
		objExcel.ActiveSheet.Range("K" & i).Value = objUser.telephoneNumber
		objExcel.ActiveSheet.Range("L" & i).Value = objUser.Description
 
		i = i + 1
  loop
 
 
 
'Sauvegarde du fichier Excel
objExcel.ActiveWorkbook.SaveAs(reptemp + Filetext + ".xls")
objExcel.ActiveWorkbook.Close
objExcel.Workbooks.Close
 
msgbox "fin de récupération des utilisateurs. Le fichiers excel est dans " + reptemp + Filetext + ".xls"
objExcel.Quit

A bienôt,
Romain

Activation automatique Microsoft Office 2010

Microsoft_office.png Lors de l'installation d'office 2010, vous pouvez l'activer directement en ligne de commande. Cela peut être pratique pour active son Office lors de la première ouverture du PC après un SYSPREP. Il s'agit d'un script VBS présent dans le répertoire "C:\Program Files\Microsoft Office\Office14\". Le script en question se nomme "OSPP.VBS". Vous pouvez retrouver l'ensemble des options sur le site de Technet.

Dans mon cas, pour activer l'Office, il faut saisir la clé d'activation :

cscript ospp.vbs /inpkey:xxxxx-xxxxx-xxxxx-xxxxx-xxxxx

Ensuite, activer le produit :

cscript ospp.vbs /act

A bientôt,
Romain

Exporter la liste des imprimantes

Ce script permet d'exporter la liste des imprimantes installé sur un serveur d'impression par exemple. Dans mon exemple, créé un fichier texte nommé "imp.txt" sur le disque "D:" :

Set WshNetwork = WScript.CreateObject("WScript.Network" )
Set oPrinters = WshNetwork.EnumPrinterConnections
Const ForReading = 1, ForWriting = 2
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("D:\imp.txt", ForWriting,true)
 
For i = 0 to oPrinters.Count - 1 Step 2
   f.write(oPrinters.Item(i+1))
   f.write(VbCrLf)
Next

Résultat :

Microsoft XPS Document Writer
Fax
Envoyer à OneNote 2010
\\ROMAIN-PC\Canon Inkjet iP1600

A bientôt,
Romain

Créer des raccourci sur le bureau

raccourci2.jpg Voici un script VBS permettant de créer different raccourci sur votre bureau. Dans mon exemple, nous allons créer :

  • Raccourci d'un site internet (L'intranet de la société par Exemple)
  • Raccourci d'Internet Explorer
  • Raccourci d'un Lecteur réseau



Il est possible de le jumeler avec Montage lecteur réseau par GPO en fonction de votre groupe et le compiler en" EXE" avec "Convertir Bat en Exe".

Pour créer un raccouci en VBS, il faut indiquer l'icone à utiliser. Sur Windows, il existe une petite librairie d'icone se trouvant dans une DLL nommé "shell32.dll" se trouvant dans le répertoire "C:\Windows\System32". Pour indiquer l'icone que l'on désire, il faut utiliser la commande suivante :

oLink.IconLocation = "C:\Windows\System32\[shell32.dll|tag:shell32.dll],__X__"

Le X est un nombre qui correspond à un icone. Pour connaitre le nombre exacte, il faut faire un clique droit sur un raccourci, onglet "Raccourci", "Changer d'icône...". Attention, la numerotation commence par 0 :raccourci.jpg

Voici l'exemple du script :

'================================================================================
'
'			Verifie que les variables soient bien déclaré
'			
'================================================================================
Option Explicit
 
'================================================================================
'
'			Déclaration des variables
'			
'================================================================================
Dim wshshell, network, fso, shell, cheminBureau, programFiles, lnkIntranet, IE, lecteur, oLink
Set wshshell = [CreateObject("WScript.Shell")|tag:CreateObject("WScript.Shell")]
Set network = Wscript.CreateObject("WScript.Network")
Set fso = CreateObject("Scripting.FileSystemObject")
Set Shell = CreateObject("WScript.Shell")
 
'			Indique le chemin du bureau
cheminBureau = [Shell.SpecialFolders|tag:Shell.SpecialFolders]("Desktop")
 
'			Indique le chemin de programfiles
programFiles = WshShell.ExpandEnvironmentStrings("%PROGRAMFILES%")
 
'			Indique le chemin du raccourci du site internet
lnkIntranet = cheminBureau & "\Site Romain Tiennot.URL"
 
'			Indique le chemin du raccourci d'Internet Explorer
IE = cheminBureau & "\Internet Explorer.lnk"
 
'			Indique le chemin du raccourci du lecteur Reseau
lecteur = cheminBureau & "\Localhost.[lnk|tag:lnk]"
 
 
'================================================================================
'
'			Création du raccoucie du site internet
'			
'================================================================================
Set oLink = [Shell.CreateShortcut|tag:Shell.CreateShortcut](lnkIntranet)
                oLink.[TargetPath|tag:TargetPath] = "http://romain.tiennot.fr"
                oLink.Save
 
 
'================================================================================
'
'			Création du raccouci Internet Explorer
'			
'================================================================================

Set oLink = Shell.CreateShortcut(IE)
'			Indique l'icone à utiliser
		oLink.[IconLocation|tag:IconLocation] = "C:\Windows\System32\shell32.dll,220"
		oLink.TargetPath = ProgramFiles & "\internet explorer\iexplore.exe"
		[oLink.Save|tag:oLink.Save]
 
 
'================================================================================
'
'			Création du raccourci du Lecteur Réseau
'			
'================================================================================
											 
Set oLink = Shell.CreateShortcut(lecteur)
'			Indique l'icone à utiliser
		oLink.IconLocation = "C:\Windows\System32\shell32.dll,9"
		oLink.TargetPath = "\\127.0.0.1"
		oLink.Save

Vous pouvez retrouver l'exemple en annexe.

A bientôt.

Convertir Bat en Exe

Parfois, il est nessesaire de convertir un fichier Bat en Exe afin que l'utilisateur final n'ai pas à voir une fenetre DOS s'afficher ou modifier le code. Pour cela, il existe un programme nommé "Bat_To_Converter.exe" pouvant rendre invisible l'application (silencieuse) ou encore mettre un icone personnalisé. Vous pourez trouver le programme en pièce jointe. battoexe.png A bientôt,
Romain

- page 1 de 2