Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1473 connectés 

  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Poste de travail

  Script création compte admin local

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script création compte admin local

n°126065
Micko77666
Posté le 25-11-2014 à 15:59:06  profilanswer
 


 
Bonjour à tous,
 
 
 
Je cherche à limiter l'utilisation de compte admin sur notre domain, et de créer un compte ADMIN en local avec un mot de passe différent par machine.
J'ai regardé du côté des GPO, je peux effectivement créer un compte et le mettre admin local, mais ça sera le même mot de passe pour tout le monde.
 
 
Donc je me suis penché sur le script VBS avec utilisation d'une feuille Excel pour chercher les données. Problème, j'ai l'idée de l'algo et du concept, mais j'arrive pas à le faire :/
 
 
J'imagine dans ma feuille Excel avec en gros 4 colonnes :
 
 
Colonne 1 : Nom de l'ordinateur
Colonne 2 : nom du compte à créer
Colonne 3 : Mot de passe du compte
Colonne 4 : Groupe de l'utilisateur
 
J'aimerai donc que quand mon script se lance, il parte lire le nom de la machine, et complete des variables avec la feuille Excel par rapport au nom donc.
Avez-vous une idée ? Je trouve beaucoup d'info pour une création de compte sur l'AD, mais rien en local sur une machine.
 
 
Si vous avez des infos je suis preneur, en vous remerciant par avance :)
 
 
Amicalement,
Mickael

mood
Publicité
Posté le 25-11-2014 à 15:59:06  profilanswer
 

n°126066
Je@nb
Modérateur
Kindly give dime
Posté le 25-11-2014 à 16:04:31  profilanswer
 
n°126074
Micko77666
Posté le 25-11-2014 à 17:16:55  profilanswer
 


Merci beaucoup Je@nb pour ton retour très rapide, je vais regarder un peu tout ça.
 
La je regarde du côté du VBS, et surtout l'utilisateur des feuilles Excel pour récupérer des informations.

n°126076
Je@nb
Modérateur
Kindly give dime
Posté le 25-11-2014 à 17:36:38  profilanswer
 

Si tu veux continuer dans ta voie de fichier excel, fais du powershell et convertis ton fichier Excel en CSV. C'est 2 lignes pour récup ton user/mdp

 
Code :
  1. $csvfile = "C:\users\jb\Documents\WindowsPowerShell\Scripts\HFR\complist.csv"
  2. $infos = Import-Csv $csvfile -Delimiter ";" |? { $_.ComputerName -eq $env:COMPUTERNAME }
  3. if ($infos -ne $null) {
  4.     $cn = [ADSI]"WinNT://$env:COMPUTERNAME"
  5.     $user = $cn.Create("User",$infos.UserName)
  6.     $user.SetPassword($infos.Password)
  7.     $user.setinfo()
  8.     $user.UserFlags[0] = $User.UserFlags[0] -bor 0x10000
  9.     $user.setinfo()
  10.     $group= [ADSI]"WinNT://$env:COMPUTERNAME/Administrators"
  11.     $group.Add("WinNT://$env:COMPUTERNAME/$($infos.Username)" )
  12. }
 


ComputerName;UserName;Password
WIN8-JB;adminjb;P@ssw0rd
WIN10-VM;admin10jb;Pa$$w0rd



Message édité par Je@nb le 25-11-2014 à 17:36:55
n°126082
Micko77666
Posté le 26-11-2014 à 09:53:45  profilanswer
 


Effectivement en PowerShell il y a aussi d'autre solution, la j'avais regardé sur le VBS car j'ai déjà un script de connexion users en VBS.
 
Il me manque uniquement la partie recherche dans une feuille Excel pour récupérer les infos et les mettre dans des variables.

n°126083
Je@nb
Modérateur
Kindly give dime
Posté le 26-11-2014 à 10:02:11  profilanswer
 

Si tu exportes en CSV ça te génère le 2ème partie de mon poste. Et c'est lu à la 2ème ligne de mon script via le import-csv

n°126153
Micko77666
Posté le 28-11-2014 à 10:25:31  profilanswer
 


Du coup nous avons réussi en VBS, encore merci à toi Je@nb :)

n°126192
Lanstack
Posté le 28-11-2014 à 16:13:25  profilanswer
 

Micko77666 a écrit :


Du coup nous avons réussi en VBS, encore merci à toi Je@nb :)


Bonjour,
 
Pourrais-tu poster ton script? Cela pourrait servir à d'autres


---------------
« Mais j'vous jure, y'a dix minutes, ça marchait très bien... »  
n°126245
Micko77666
Posté le 01-12-2014 à 09:50:16  profilanswer
 

Pas de soucis le voici, il y a surement mieux, mais il fonctionne en tout cas :)
 
Par  contre, il faut élever les droits sinon pas de création de users.
 
 

Code :
  1. Dim WshNet, computername
  2. Set WshNet = CreateObject("Wscript.Network" )
  3. computername = WshNet.ComputerName
  4. Dim result, objUser
  5. Dim info_users(1000,4)
  6. Dim i
  7. Dim ligne
  8. Dim temp_tab(4)
  9. Dim nom, compte, password, groupe
  10. '************************************************
  11. Set WshShell = CreateObject("WScript.Shell" )
  12. 'excel *********
  13. Set objExcel = CreateObject("Excel.Application" )
  14. objExcel.Visible = false
  15. Set objWorkbook = objExcel.Workbooks.Open("\\ordi\Comptes.xls" )
  16. Set objWorksheet = objWorkbook.Worksheets(1)
  17. 'création du pointeur i, de la localisation de la ligne, et d'un tableau temporaire pour la fonction filter
  18. 'on parcourt le tableau
  19. for i=1 to 1000
  20. temp_tab(1) = objWorksheet.cells(i,1).value
  21. temp_tab(2) = objWorksheet.cells(i,2).value
  22. temp_tab(3) = objWorksheet.cells(i,3).value
  23. 'on recherche "computername" dans le tableau à une dimension, result contient le computername
  24. result = filter(temp_tab, computername, 1)
  25. info_users(i,1)    = temp_tab(1)
  26. info_users(i,2)    = temp_tab(2)
  27. info_users(i,3)   = temp_tab(3)
  28. 'on cherche si la fonction filter a retourné un resultat, si oui, ces instructions sont effectuées
  29. for each x in result
  30.  ligne = Cstr(i)
  31. next
  32. next
  33. 'Fermeture de l'application Excel
  34. objWorkBook.Close
  35. 'Désallocation mémoire
  36. Set objWorksheet = Nothing
  37. Set objWorkbook = Nothing
  38. Set objExcel = Nothing
  39. '**************************************************
  40. 'création users
  41. if Not IsNull(ligne) then
  42. nom = info_users(ligne,1)
  43. compte = info_users(ligne,2)
  44. password = info_users(ligne,3)
  45. groupe = info_users(ligne,4)
  46. Set colAccounts = GetObject("WinNT://"&nom&"" )
  47. 'test existence de l'utilisateur
  48. on error resume next
  49. set ouser=getobject("WinNT://"& nom &"/"&compte& ",user" )
  50. if err.number<>0 then
  51.  'wscript.echo "Ce compte n'existe pas encore, nous allons le créer."
  52.  err.clear
  53.  Set objUser = colAccounts.Create("user", compte)
  54.  Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
  55.  objPasswordExpirationFlag = ADS_UF_DONT_EXPIRE_PASSWD
  56.  'test de création mot de passe
  57.  on error resume next
  58.  objUser.SetPassword "@"& password
  59.  if err.number<>0 then
  60.   'wscript.echo "Création du mot de passe."
  61.  end if
  62.  on error goto 0
  63.  objUser.SetInfo
  64.  objUser.Put "userFlags", objPasswordExpirationFlag
  65.  'wscript.echo "Utilisateur "+nom+" créé. Tentative d'affectation au groupe..."
  66.  'test d'ajout à un groupe
  67.  on error resume next
  68.  Set Group = GetObject("WinNT://" + Cstr(nom) + "/Administrateurs,group" )
  69.  if err.number=0 then
  70.   'wscript.echo "Le compte "+compte+" a ete ajoute au groupe "+groupe
  71.   Group.Add(objUser.ADspath)
  72.   Group.SetInfo
  73.  end if
  74.  on error goto 0
  75. else
  76. 'si l'user existe déjà
  77.  On Error Resume Next
  78.  objUser.SetPassword "@"& password
  79.  if err.number <>0 then
  80.   objUser.Put "userFlags", objPasswordExpirationFlag
  81.   'wscript.echo "Mot de passe redefini."
  82.   objUser.SetInfo
  83.  end if
  84.  on error goto 0
  85.  on error resume next
  86.  Set Group = GetObject("WinNT://" + Cstr(nom) + "/Administrateurs,group" )
  87.  if err.number = 0 then
  88.   Group.Add(objUser.ADspath)
  89.   Group.SetInfo
  90.  end if
  91.  on error goto 0
  92. end if
  93. on error goto 0
  94. end if
  95. wscript.echo "End."


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Poste de travail

  Script création compte admin local

 

Sujets relatifs
connexion vpn pptp perte réseau local[Résolu] Firefox/Chrome plus lents que IE pour télécharger en local
Problème remote admin sur routeurs NetgearRegistry file admin batch file
[AD] Problème de création utlisitateurInstallation d'imprimante via script
[RESOLU] Création d'un partage sous Windows Server 2012cherche freeware pour surveiller un periph snmp et lancer un script
Méthode pour changer le mot de passe admin local sur les postes 
Plus de sujets relatifs à : Script création compte admin local


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR