Affichage des articles dont le libellé est VBS. Afficher tous les articles
Affichage des articles dont le libellé est VBS. Afficher tous les articles

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