Script Powershell qui ne fait rien

tito -  
zucrezel Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous et à toutes
J'ai un petit soucis ou est ce vraiment un?
J'ai suivi un tuto sur le net pour l'importation d'un fichier csv sur powershell afin de créer le compte des personnes. Je ne vois aucun message d'erreur mais pourtant les comptent ne se créent pas. Avez vous une idéé d'où ça peux venir svp?

Merci d'avance à celui ou celle qui pourra m'éclairer... :s

Import-Module ActiveDirectory
{
$Users = Import-Csv -Delimiter ";" -Path "C:\Users\adm-tito\Desktop\test.csv"
foreach($temp in $Users) { }

$upn = $temp.SamAccountName + "Nougatine.global"
$name = $temp.firstname + " " + $temp.Lastname
$fName = $temp.Firstname
$SAM = $temp.SAMAccountName
$password = $temp.Password
$description = $temp.Description
$ou = $temp.OU

try{

New-ADUser -Name $name -SamAccountName $SAM -UserPrincipalName $upn -DisplayName $name -GivenName $fName -SurName $temp.Lastname -AccountPassword (ConvertTo-SecureString $password -AsPlainText -Force) -PasswordNeverExpires $true -Description $description -Path $ou

echo "Utilisateur ajouté : $name"

} catch {
echo "Utilisateur non ajouté : $name"
}

}

A voir également:

8 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Déjà :
foreach($temp in $Users) { } 

... Tu a mal placé ton accolade de fin ...
0
tito
 
Bonjour Jordan, Merci de prendre le temps te pencher sur mon soucis, ben quand je l'enlève pour le mettre à la fin il me fait voir qu'il me manque une accolade à l'endroit où je l'enlève... "Il me sors Corps de l’instruction manquant dans la boucle foreach".

Donc je ne pense pas que ce soit ça? Tu vois encore autre chose
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Tu as également une accolade ouvrante en trop au début de ton script je pense....

essaye ça :
Import-Module ActiveDirectory
$Users = Import-Csv -Delimiter ";" -Path "C:\Users\adm-tito\Desktop\test.csv"

foreach($temp in $Users) { 
  $upn = $temp.SamAccountName + "Nougatine.global"
  $name = $temp.firstname + " " + $temp.Lastname
  $fName = $temp.Firstname
  $SAM = $temp.SAMAccountName
  $password = $temp.Password 
  $description = $temp.Description
  $ou = $temp.OU
  
  try{
     New-ADUser -Name $name -SamAccountName $SAM -UserPrincipalName $upn -DisplayName $name -GivenName $fName -SurName $temp.Lastname -AccountPassword (ConvertTo-SecureString $password -AsPlainText -Force) -PasswordNeverExpires $true -Description $description -Path $ou

    Write-Host "Utilisateur ajouté : $name"
  } catch {
     Write-Host"Utilisateur non ajouté : $name"
  }

} 


NB : En PowerShell .. on utilise Write-Host et non echo.
0
tito
 
D'accord merci j'essaye ça quand je rentre chez moi et je te tiens au courant!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tito
 
Salut, j'ai essayé ce que tu m'as dit et là j'ai la ligne rouge suivante :
"Le terme << "Write-Host" "Utilisateur non ajouté : $name" >> n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou programme exécutable. Vérifiez l'orthographe du nom, ou si un chemin d'accès existe, vérifiez que le chemin d'accès de ligne : 13 Caractère : 48

+ Write Host "Utilisateur non ajouté : $name" <<<<
+ Categoryinfo :ObjectNotFoud: <Write-Host"Util... ajouté : $name"String> [], Command NotFoundException
+FullyQualifiedErrorld : CommandNotFoundException

Une idée?
0
tito
 
Bonjour Jordan, tu m'as oublié?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Tu es en powershell 2 ou 3 ou autre ??
0
tito > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
Name Value
---- -----
PSVersion 5.1.14393.1358
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.14393.1358
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
0
zucrezel Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   4
 
Bonjour,

Vu le message d'erreur "Command NotFoundException", tu as oublié l'espace à la ligne 21 entre le nom de la CmdLet (Write-Host) et son paramètre (tu l'as bien écrit la ligne 19).
Sans le séparateur espace, toute la ligne 21 est considérée comme une CmdLet qui n'est pas reconnue par PowerShell.

ligne 21 avant correction :
 Write-Host"Utilisateur non ajouté : $name"


après correction :
 Write-Host "Utilisateur non ajouté : $name"
0
tito
 
Bonjour zucrezel ,
Je te remercie de te pencher sur mon cas. J'ai juste fais un copier coller de ce qui m'a été donné. Merci pour la correction :) Ca marche disons en partie car je n'ai plus l'erreur mais mes users ne sont toujours pas crées et je ne vois pas pourquoi ça me fait ça. Là le script s'exécute mais j'ai à la fin 12 "Utilisateur non ajouté" soit le nombre de mes users que j'essaye d'ajouter. Saurais tu voir ce qui cloche stp?
Vraiment merci encore pour ton aide.
0
zucrezel Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   4
 
Bonjour,
Dans le catch ajoute la remontée des messages d'erreur (tu as peut être un problème de droits d'écriture dans l'ad) :
$errmsg=$_.Exception.message
$errinfo=$_.Exception.itemname
write-host $errinfo $errmsg
0