Question
Création users locaux depuis fichier .txt (résolu)
- mary
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 16
- Remerciements reçus 0
il y a 16 ans 10 mois #4600
par mary
Création users locaux depuis fichier .txt (résolu) a été créé par mary
bonjour, pour mon travail, je dois crée des utilisateur local depuis un fichiers .txt . Etant donnée que mon serveur ne dispose pas d'active directory, aucun forum ni tutoriaux ne ma permis d'arriver a mes fin
. je vous joint mon script pour que vous ayez plus d'information :
[code:1]
Set-Location c:\test
Set-ExecutionPolicy unrestricted
$InputUsers = Get-Content .\names.txt
$GroupsOU = [ADSI] 'LDAP://localhost:50002/OU=OU3,O=ms,C=com'
Foreach ($Line in $InputUsers)
$addUser = $InputUsers
$UserName = $InputUsers
$MyInvocation = $addUser
{
$var=$myvar
$var[0]
$var[1]
$User = $GroupsOU.create('UserProxy','CN=' + $var[0])
$User.Put('DisplayName', $var[0])
$User.Put('ObjectSID', $var[1])
$User.SetInfo()
}[/code:1]
ps : vous devez voir mon faible niveau en programation
Message édité par: Arnaud, à: 25/05/09 23:37<br><br>Message édité par: Arnaud, à: 25/05/09 23:43
[code:1]
Set-Location c:\test
Set-ExecutionPolicy unrestricted
$InputUsers = Get-Content .\names.txt
$GroupsOU = [ADSI] 'LDAP://localhost:50002/OU=OU3,O=ms,C=com'
Foreach ($Line in $InputUsers)
$addUser = $InputUsers
$UserName = $InputUsers
$MyInvocation = $addUser
{
$var=$myvar
$var[0]
$var[1]
$User = $GroupsOU.create('UserProxy','CN=' + $var[0])
$User.Put('DisplayName', $var[0])
$User.Put('ObjectSID', $var[1])
$User.SetInfo()
}[/code:1]
ps : vous devez voir mon faible niveau en programation
Message édité par: Arnaud, à: 25/05/09 23:37<br><br>Message édité par: Arnaud, à: 25/05/09 23:43
Connexion ou Créer un compte pour participer à la conversation.
- PASCAULT
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 78
- Remerciements reçus 0
il y a 16 ans 10 mois #4601
par PASCAULT
Réponse de PASCAULT sur le sujet Re:crée utilisateur local depuis un fichier .txt
Bonjour kevinmary,
Un petit bout de code qui devrait pouvoir t'aider:
[code:1]Get-Content .names.txt|%{
$computer = [ADSI]\"WinNT://$env:computername,computer\"
$user = $computer.Create(\"user\", $_)
$user.SetInfo()
}
[/code:1]
Pour un peu plus d'info:
powershell.com/cs/forums/t/1569.aspx
Un petit bout de code qui devrait pouvoir t'aider:
[code:1]Get-Content .names.txt|%{
$computer = [ADSI]\"WinNT://$env:computername,computer\"
$user = $computer.Create(\"user\", $_)
$user.SetInfo()
}
[/code:1]
Pour un peu plus d'info:
powershell.com/cs/forums/t/1569.aspx
Connexion ou Créer un compte pour participer à la conversation.
- mary
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 16
- Remerciements reçus 0
il y a 16 ans 10 mois #4603
par mary
Réponse de mary sur le sujet Re:crée utilisateur local depuis un fichier .txt
Merci de ta reponse, doit-je le rajouter a mon script ou en crée un nouveau... ?
si quelqu'un aurait un script identique des expliquation cela m'aiderai ..
Merci
si quelqu'un aurait un script identique des expliquation cela m'aiderai ..
Merci
Connexion ou Créer un compte pour participer à la conversation.
- PASCAULT
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 78
- Remerciements reçus 0
il y a 16 ans 10 mois #4605
par PASCAULT
Réponse de PASCAULT sur le sujet Re:crée utilisateur local depuis un fichier .txt
Bonjour,
C'est un nouveau script en fait.
En partant sur le principe que ton fichier names.txt est de la forme
Je modifie le script que je t'ai donné pour qu'il soit un peu moins contracté et peut-être un peu plus parlant pour toi
[code:1]
#Recupération de la liste des utilisateurs mis dans un tableau $inputusers
#Soit à partir d'un fichier:
$inputusers=Get-Content .names.txt
#soit pour directement ici en ligne de cmd pour test:
$inputusers=\"user1\",\"user2\"
#Définition du poste cible (ici $env:computername correspond à l'ordianteur local)
$Computercible=$env:computername
#Parcours le tableau d'utilisateur un par un; ex dans ce cas au premier passage $user=user1 puis 2eme fois $user=user2
Foreach ($username in $InputUsers)
{
#Connexion à l'ordinateur cible en utilisant le provider (fournisseur objet COM) Winnt
$computer = [ADSI]\"WinNT://$Computercible,computer\"
#Création d'un enregistrement de type \"user\" de nom $user (qui varie user1 puis user2...)
$user = $computer.Create(\"user\", $username)
#Enregistrement de l'information sur le poste
$user.SetInfo()
Write-Host \"Création de l'utilisateur $username sur le poste $Computercible\"
}
[/code:1]
Si tu executes ce script, cela devrait te créer donc user1 et user2 sur le poste où tu exécutes cette cmd.
Supprimes la ligne ou met en commentaire
Ensuite, tu peux rajouter un mot de passe, une description de l'utilisateur ou autre paramètre. Tu peux prendre exemple sur le lien donné plus bas.
Voilà, j'espère que cela est plus clair pour toi.
Bon courage!
Yves
C'est un nouveau script en fait.
En partant sur le principe que ton fichier names.txt est de la forme
user1
user2
user3
Je modifie le script que je t'ai donné pour qu'il soit un peu moins contracté et peut-être un peu plus parlant pour toi
[code:1]
#Recupération de la liste des utilisateurs mis dans un tableau $inputusers
#Soit à partir d'un fichier:
$inputusers=Get-Content .names.txt
#soit pour directement ici en ligne de cmd pour test:
$inputusers=\"user1\",\"user2\"
#Définition du poste cible (ici $env:computername correspond à l'ordianteur local)
$Computercible=$env:computername
#Parcours le tableau d'utilisateur un par un; ex dans ce cas au premier passage $user=user1 puis 2eme fois $user=user2
Foreach ($username in $InputUsers)
{
#Connexion à l'ordinateur cible en utilisant le provider (fournisseur objet COM) Winnt
$computer = [ADSI]\"WinNT://$Computercible,computer\"
#Création d'un enregistrement de type \"user\" de nom $user (qui varie user1 puis user2...)
$user = $computer.Create(\"user\", $username)
#Enregistrement de l'information sur le poste
$user.SetInfo()
Write-Host \"Création de l'utilisateur $username sur le poste $Computercible\"
}
[/code:1]
Si tu executes ce script, cela devrait te créer donc user1 et user2 sur le poste où tu exécutes cette cmd.
Supprimes la ligne ou met en commentaire
pour lire ton fichier utilisateurs.$inputusers=\"user1\",\"user2\"
Ensuite, tu peux rajouter un mot de passe, une description de l'utilisateur ou autre paramètre. Tu peux prendre exemple sur le lien donné plus bas.
Voilà, j'espère que cela est plus clair pour toi.
Bon courage!
Yves
Connexion ou Créer un compte pour participer à la conversation.
- PASCAULT
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 78
- Remerciements reçus 0
il y a 16 ans 10 mois #4606
par PASCAULT
Réponse de PASCAULT sur le sujet Re:crée utilisateur local depuis un fichier .txt
ah ! petit souci dirait-on...
La visualisation, ça donnait bien, mais une fois le post envoyé, pas terrible ! en plus il me le fait 2 fois !
Bon, le code sans couleur:
[code:1]#Recupération de la liste des utilisateurs mis dans un tableau $inputusers
#Soit à partir d'un fichier:
$inputusers=Get-Content .names.txt
#soit pour directement ici en ligne de cmd pour test:
$inputusers=\"user1\",\"user2\"
#Définition du poste cible (ici $env:computername correspond à l'ordianteur local)
$Computercible=$env:computername
#Parcours le tableau d'utilisateur un par un; ex dans ce cas au premier passage $user=user1 puis 2eme fois $user=user2
Foreach ($username in $InputUsers)
{
#Connexion à l'ordinateur cible en utilisant le provider (fournisseur objet COM) Winnt
$computer = [ADSI]\"WinNT://$Computercible,computer\"
#Création d'un enregistrement de type \"user\" de nom $user (qui varie user1 puis user2...)
$user = $computer.Create(\"user\", $username)
#Enregistrement de l'information sur le poste
$user.SetInfo()
Write-Host \"Création de l'utilisateur $username sur le poste $Computercible\"
} [/code:1]
La visualisation, ça donnait bien, mais une fois le post envoyé, pas terrible ! en plus il me le fait 2 fois !
Bon, le code sans couleur:
[code:1]#Recupération de la liste des utilisateurs mis dans un tableau $inputusers
#Soit à partir d'un fichier:
$inputusers=Get-Content .names.txt
#soit pour directement ici en ligne de cmd pour test:
$inputusers=\"user1\",\"user2\"
#Définition du poste cible (ici $env:computername correspond à l'ordianteur local)
$Computercible=$env:computername
#Parcours le tableau d'utilisateur un par un; ex dans ce cas au premier passage $user=user1 puis 2eme fois $user=user2
Foreach ($username in $InputUsers)
{
#Connexion à l'ordinateur cible en utilisant le provider (fournisseur objet COM) Winnt
$computer = [ADSI]\"WinNT://$Computercible,computer\"
#Création d'un enregistrement de type \"user\" de nom $user (qui varie user1 puis user2...)
$user = $computer.Create(\"user\", $username)
#Enregistrement de l'information sur le poste
$user.SetInfo()
Write-Host \"Création de l'utilisateur $username sur le poste $Computercible\"
} [/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- mary
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 16
- Remerciements reçus 0
il y a 16 ans 10 mois #4609
par mary
Réponse de mary sur le sujet Re:crée utilisateur local depuis un fichier .txt
Merci !!! ton aide ma était precieuse !
mais j'obtien encore une petite erreur
mais j'obtien encore une petite erreur
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.089 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Création users locaux depuis fichier .txt (résolu)