Scripting VBS

Création user password en VBS

#installation AD auto

Dim WshShell,oExec
Set WshShell = wscript.createobject("wscript.shell")

WshShell.Exec("dcpromo /answer:c:\answer.txt") 

#Contenu du fichier TXT
[DCINSTALL]
ReplicaOrNewDomain=Domain
TreeOrChild=Tree
CreateOrJoin=Create
NewDomainDNSName=abara.local
DNSOnNetwork=yes
DomainNetbiosName=ABARA
AutoConfigDNS=yes
SiteName=abara
AllowAnonymousAccess=no
DatabasePath=%systemroot%\ntds
LogPath=%systemroot%\ntds
SYSVOLPath=%systemroot%\sysvol
SafeModeAdminPassword=
CriticalReplicationOnly=No
RebootOnSuccess=yes


#Voici un script en vbs pour créer des compte user sur un AD 

'constantes pour le mode d'ouverture des fichiers
ForReading = 1 ' à savoir : 2 pour écrire et 8 pour le mode append 
TristateUseDefault = -2
ADS_UF_DONT_EXPIRE_PASSWD = &H10000


set fso = CreateObject("Scripting.FileSystemObject")
set fichier = fso.GetFile("c:\utilisateur.txt")
set temp = fichier.OpenAsTextStream(ForReading, TristateUseDefault)
do while (Not temp.AtEndOfStream)
ligne = temp.ReadLine    
    champs = Split(ligne,";")
  nom=champs(0)
    prenom=champs(1)
  service=champs(2)
  fonction=champs(3)
    motdepasse=champs(4)
  ajout_util nom,prenom,service,fonction,motdepasse
loop

Function ajout_util(arg_nom,arg_prenom,arg_service,arg_fonction,arg_pass)
Set conteneur = GetObject("LDAP://OU=" & arg_service & ",DC=lasalle,DC=rsx")
Set utilisateur = conteneur.Create("user", "CN=" & arg_nom & " " & arg_prenom)
utilisateur.Put "SAMAccountName", arg_nom & "." & arg_prenom
utilisateur.SetInfo
utilisateur.Put "userPrincipalName", arg_nom & "." & arg_prenom & "@lasalle.rsx"
utilisateur.Put "sn", arg_nom
utilisateur.Put "givenName", arg_prenom
utilisateur.Put "displayName", arg_nom & "." & arg_prenom
utilisateur.Put "description", arg_fonction 
utilisateur.SetInfo
utilisateur.AccountDisabled = False
utilisateur.SetPassword arg_pass
utilisateur.Put "userAccountControl",ADS_UF_DONT_EXPIRE_PASSWD
utilisateur.SetInfo
utilisateur.AccountExpirationDate = "01/01/2013"
utilisateur.SetInfo
End Function

ForWriting = 2
If Not fso.FileExists("c:\log.txt") Then
    set fichierlog = fso.CreateTextFile("c:\log.txt")
End If
set fichierlog = fso.GetFile("c:\log.txt")
set templog = fichierlog.OpenAsTextStream(ForWriting, TristateUseDefault)

Templog.WriteLine "L'utilisateur " & arg_nom & " créé avec succès le  : " & now


#Création de dossier

' Création de répertoire

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.CreateFolder("e:\rep1")            
Set objFolder = objFSO.CreateFolder("e:\rep2")      
Set objFolder = objFSO.CreateFolder("e:\rep3")          
                                   

'Supprimer un objet
set objFSO = Nothing


 
 #Script de création de comptes utilisateurs dans le conteneur "Users" a partir d'un fichier Excel

 
  ' Déclaration des variables

     Dim oexapp, oexwk, oexws, owshshell, ocellule, i
     dim utilisateurs, upn, nomsam, prenom, nom, motdepasse, adhesionauxgroupes, service, nomduresponsable, doitchangersonmotdepasse, lecomptedoitetredesactive, typedegroupe, etendudegroupe, nomgroupe, emplacement, nomou, liste
     liste = ""

 
     ' Accès au fichier Excel contenant les données des utilisateurs a créer
 
     set oexapp = wscript.createobject("Excel.Application")
     set owshshell = wscript.createobject("wscript.shell")
     oexapp.visible = true
     set oexwk = oexapp.workbooks.open(owshshell.currentdirectory & "\Utilisateurs.xls")
     set oexws = oexwk.activesheet
 

     ' Boucle d'extraction des données Excel ligne par ligne [~détail~]
 



     ' Boucle d'extraction des données Excel ligne par ligne [~détail~]
 
     i = 2
     Do until oexapp.cells(i,1).value = ""
 
 
     ' Assignation de chaque colonne Excel dans une variable

     'upn = nomsam &"@"& domaine
upn = oexapp.cells(i,1).value
     prenom = oexapp.cells(i,2).value
     nom = oexapp.cells(i,3).value
nomsam = prenom &"."& nom
     motdepasse = oexapp.cells(i,4).value
service = oexapp.cells(i,6).value
typedegroupe = oexapp.cells(i,8).value
etendudegroupe = oexapp.cells(i,9).value
nomgroupe = oexapp.cells(i,7).value
emplacement = oexapp.cells(i,10).value
domaine = oexapp.cells(i,11).value
     cngroup = "CN=" & nomgroupe
booExists = "FALSE"
newgroup = ""


     ' Choix du domaine et du conteneur d'Active Directory
   
     Set objDomain = GetObject("LDAP://" & domaine & "")
     Set objCN = GetObject("LDAP://CN=Users," & domaine & "")

 
     ' Création de l'utilisateur "# i" et assignation des valeurs: loggin, nom, prénom, bureau _
     ' messagerie, ville et password     '

     Set objUser = objCN.Create("User", "cn= " & nom & "")
     objUser.Put "sAMAccountName", nomsam
objUser.Put "sn", nom
objUser.Put "givenName", prenom
objUser.Put "userPrincipalName", upn  
objUser.Put "mail", upn
objUser.Put "department", service
objUser.Put "CN", nom
objUser.SetInfo

     Set objUser = GetObject("LDAP://cn=" & nom & ",CN=Users," & domaine & "")
     objUser.SetPassword "P@ssw0rd"
   
Set objUser = GetObject("LDAP://cn=" & nom & ",CN=Users," & domaine & "")
     objUser.Put "pwdLastSet", 0
     objUser.SetInfo


     ' Création du groupe s'il n'existe pas

For each objGroup In GetObject("LDAP://OU=Groupes," & domaine & "")
GetObject("LDAP://OU=Groupes," & domaine & "").filter = array ("group")
if booExists = "FALSE" then
strGroupname = objGroup.Name
if strGroupname = cngroup then
booExists = "TRUE"
end if
end if
next
if booExists = "FALSE" then
Set objOU = GetObject("LDAP://OU=Groupes," & domaine & "")
Set objGroup = objOU.Create("Group", "CN=" & nomgroupe & "")
objGroup.Put "sAMAccountName", nomgroupe
objGroup.Put "groupType", typedegroupe Or etendudegroupe
objGroup.SetInfo
newgroup = nomgroupe
end if

'
' Placement de l'utilisateur dans le groupe

     Set objGroup = GetObject("LDAP://CN=" & nomgroupe & ",OU=Groupes," & domaine & "")
objGROUP.PutEx 3, "member", _
Array("cn= " & nom & ",CN=Users," & domaine & "")
objGroup.SetInfo


     ' Activation du compte

     Set objUser = GetObject("LDAP://cn=" & nom & ", CN=Users," & domaine & "")
     objUser.AccountDisabled = false
     objUser.SetInfo

     Set objUser = GetObject("LDAP://cn=" & nom & ", CN=Users," & domaine & "")
     GetObject("LDAP://cn=" & nom & ", CN=Users," & domaine & "")
     objUser.Put "logonHours",0
 
'
     ' Liste les groupes qui ont été créés "listegp"

if newgroup = "" then
else
listegp = listegp + newgroup & ", "
end if

     liste = liste + nom & ", "

     i = i+1
     Loop


     ' Récapitulatif des utilisateurs crées via la variable "liste"

 
     MsgBox "Les utilisateurs " & liste & " ont été créés et activés, ainsi que les groupes " & listegp & ""


#Creation d'OU 

'GROUPES
Set objDom =GetObject("LDAP://dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=GROUPES")
objUO.SetInfo

'INFO
Set objDom =GetObject("LDAP://dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=INFO")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=INFO,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=ORDINATEURS")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=INFO,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=ASSISTANTS")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=ASSISTANTS,ou=INFO,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=PARIS")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=ASSISTANTS,ou=INFO,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=RENNES")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=ASSISTANTS,ou=INFO,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=NANTES")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=INFO,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=RESPONSABLE")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=INFO,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=INGENIEUR")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=INFO,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=SECRETAIRES")
objUO.SetInfo

'NANTES
Set objDom =GetObject("LDAP://dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=NANTES")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=NANTES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=SERVICE COMMERCIAL")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=SERVICE COMMERCIAL,ou=NANTES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=ORDIS")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=SERVICE COMMERCIAL,ou=NANTES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=USERS")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=NANTES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=ATELIER")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=ATELIER,ou=NANTES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=CHEF")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=ATELIER,ou=NANTES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=USERS")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=ATELIER,ou=NANTES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=IMP")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=NANTES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=FINANCE")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=NANTES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=DIRECTION")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=DIRECTION,ou=NANTES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=SECRETAIRES")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=DIRECTION,ou=NANTES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=DIRECTEUR")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=NANTES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=RESPONSABLE PRODUCTION")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=NANTES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=SAV")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=NANTES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=BUREAU D'ETUDE")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=BUREAU D'ETUDE,ou=NANTES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=DOSSIERS PARTAGES")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=BUREAU D'ETUDE,ou=NANTES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=USERS")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=BUREAU D'ETUDE,ou=NANTES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=IMP")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=BUREAU D'ETUDE,ou=NANTES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=ORDIS")
objUO.SetInfo

'RENNES
Set objDom =GetObject("LDAP://dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=RENNES")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=RENNES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=SERVICE COMMERCIAL")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=SERVICE COMMERCIAL,ou=RENNES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=ORDIS")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=SERVICE COMMERCIAL,ou=RENNES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=USERS")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=RENNES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=ATELIER")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=ATELIER,ou=RENNES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=CHEF")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=ATELIER,ou=RENNES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=USERS")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=ATELIER,ou=RENNES,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=IMP")

'PARIS
Set objDom =GetObject("LDAP://dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=PARIS")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=PARIS,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=SERVICE COMMERCIAL")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=SERVICE COMMERCIAL,ou=PARIS,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=ORDIS")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=SERVICE COMMERCIAL,ou=PARIS,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=USERS")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=PARIS,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=ATELIER")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=ATELIER,ou=PARIS,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=CHEF")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=ATELIER,ou=PARIS,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=USERS")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=ATELIER,ou=PARIS,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=IMP")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=ATELIER,ou=PARIS,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=ORDI")

'SERVEUR
Set objDom =GetObject("LDAP://dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=SERVEUR")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=SERVEUR,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=DC")
objUO.SetInfo
Set objDom =GetObject("LDAP://ou=SERVEUR,dc=riboulding,dc=dom")
Set objUO=objDom.Create("organizationalUnit","ou=SM")


objUO.SetInfo

MsgBox("Script terminé!")


#Ce petit script map un partage réseau

set oNetwork = CreateObject("WScript.Network")
oNetwork.MapNetworkDrive "Z:", "\\192.168.20.250\plouf"
Wscript.Echo oNetwork.ComputerName

#Creation d'un dossier partager

c:\rep1
Const FILE_SHARE = 0
Const MAXIMUM_CONNECTIONS = 25

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set objNewShare = objWMIService.Get("Win32_Share")

errReturn = objNewShare.Create _
    ("c:\rep1", "partage1", FILE_SHARE, _
        MAXIMUM_CONNECTIONS, "Partage pour les cours d'informatique.")

' create a share folder partage2 on folder c:\rep2
errReturn = objNewShare.Create _
    ("c:\rep2", "partage2", FILE_SHARE, _
        MAXIMUM_CONNECTIONS, "Partage pour les cours d'informatique.")

' create a share folder partage3 on folder c:\rep3
errReturn = objNewShare.Create _
    ("c:\rep3", "partage3", FILE_SHARE, _
        MAXIMUM_CONNECTIONS, "Partage pour les cours d'informatique.")
Wscript.Echo errReturn



#Attribution d'une ip fixe

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
    ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
strIPAddress = Array("192.168.20.250")
strSubnetMask = Array("255.255.255.0")
strGateway = Array("192.168.20.1")
strGatewayMetric = Array(1)
For Each objNetAdapter in colNetAdapters
    errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
    errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
    If errEnable = 0 Then
        WScript.Echo "The IP address has been changed."
    Else
        WScript.Echo "The IP address could not be changed."
    End If
Next


#Attribution ip dynamique

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
    ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each objNetAdapter In colNetAdapters
    errEnable = objNetAdapter.EnableDHCP()
     If errEnable = 0 Then
        Wscript.Echo "DHCP has been enabled."
    Else
        Wscript.Echo "DHCP could not be enabled."
    End If
Next


#Arret & demarrage de service

const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."

Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")

strKeyPath = "SYSTEM\CurrentControlSet\Services\Messenger"
strValueName = "Start"
dwValue = 2
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue

Aucun commentaire:

Enregistrer un commentaire