Question [RESOLU]verifier si un utilisateur existe dans ad

Plus d'informations
il y a 10 ans 11 mois #20186 par Tiryaki
Salut

Je suis bloquer sur un script donc j'aurais besoin de votre aide svp.

Je doit verifier si un utilisateur existe dans active directory voici mon code :

[code:1]$bouton1.Add_Click({

$textBoxPC.set_text('')
$PC=$textBoxPC.get_text()

$users = Get-ADUser -Filter { samaccountname -ne \"$PC\"} -SearchBase \"OU=Users,OU=Fatih,DC=Test,DC=net\"

if ($users -ne $PC )
{
$label.text = \"Users does not exist in AD\"
}

Else

{
$label.text = \"User found in AD\"
}

})
[/code:1]
il n'y a pas de message d'erreur mais il me mais que l'utilisateur existe pourtant il existe pas
si quelqu'un a une idée merci de vouloir m'aider.

Message édité par: Fatih57, à: 18/06/15 07:59

Message édité par: Fatih57, à: 18/06/15 09:43

Message édité par: Fatih57, à: 18/06/15 14:36<br><br>Message édité par: Fatih57, à: 18/06/15 14:39

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 11 mois #20187 par Philippe
peut tu aussi nous aider en mettant les balises code sur les parties scripts, stp. Ca nous facilite le travail de lecture de ton code !
pour ça tu surligne ton code et tu clique sur le bouton code au dessus de la zone de saisi du texte
-&gt;tu as la possibilité d’éditer (modifier) ton premier post
merci beaucoup

je pense que ton problème vient d'ici :
[code:1]{ samaccountname -ne \&quot;$PC\&quot;} [/code:1]
ou tu test si l'utilisateur n'existe pas dans l'AD
le bon operateur est :
[code:1]{ samaccountname -eq \&quot;$PC\&quot;} [/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 11 mois #20188 par Tiryaki
Désoler je suis nouveau sur le site merci de m'avoir prevenue pour la balise code :)

J'ai essayer mais sa ne fonctionne toujours pas ...

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 11 mois #20190 par Philippe
si tu ne fait que ça :

[code:1]
$PC = \&quot;login_utilisateur\&quot; # remplacer par le login d'un utilisateur de ton domaine
Get-ADUser -Filter { samaccountname -eq \&quot;$PC\&quot;}[/code:1]

es que tu a le bon utilisateur qui s'affiche ?
c'est à dire par exemple :
[code:1]DistinguishedName : CN=Saïd xxxxx,OU=XXX,OU=FR,OU=ABCED,DC=domaine,DC=lan
Enabled : False
GivenName : Saïd
Name : Saïd xxxxx
ObjectClass : user
ObjectGUID : 7fae1ded-3871-4ead-95fa-244b4b846961
SamAccountName : saxxxx
SID : S-1-5-21-631892985-3984632572-265091654-2380
Surname : xxxxxx
UserPrincipalName : Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.[/code:1]<br><br>Message édité par: 6ratgus, à: 18/06/15 09:52

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 11 mois #20191 par Tiryaki
Non malheureusment il m'affiche rien du tout ...

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 11 mois #20193 par Tiryaki
Voila mon code :

[code:1][void][System.Reflection.Assembly]::LoadWithPartialName(\&quot;System.Windows.Forms\&quot;«»)
[void][System.Reflection.Assembly]::LoadWithPartialName(\&quot;System.Drawing\&quot;«»)

#Creation de la form principale
$form = New-Object Windows.Forms.Form

# Pour bloquer le resize du form et supprimer les icones Minimize and Maximize

$form.FormBorderStyle = [System.Windows.Forms.FormBorderStyle]::FixedDialog
$form.set_ForeColor(\&quot;Green\&quot;«»)
$form.MaximizeBox = $False
$form.MinimizeBox = $False
$form.Text = \&quot;TEST !\&quot;# Choix du titre
$form.Size = New-Object System.Drawing.Size(600,500)# Choix de la taille

#Bouton
$boutton = new-object System.Windows.Forms.Button
$boutton.Text = 'Create'
$boutton.Location = new-object System.Drawing.Size (500,390)
#$boutton.size = new-object System.Drawing.Size(120,30)



$boutton.Add_Click({



#Variable pour récupérer la saisie des TexTBox
$ID = $textBoxID.get_text()
$Prenom = $textBoxFN.get_text()
$Nom = $textBoxLN.get_text()
$displayname = $textBoxDIS.get_text()
$expiration = $TextBoxFolder.get_text().ToString()
$userCN=\&quot;$($Nom) $($Prenom)\&quot;;$label.text = \&quot; Displayname : $userCN\&quot;
$mdp = $textBoxmdp.get_text()
$PC = $textBoxPC.get_text()


#Remise à zéro des champs
$textBoxID.set_text('')
$textBoxFN.set_text('')
$textBoxLN.set_text('')
$textBoxDIS.set_text('')
$TextBoxFolder.set_text('')
$textBoxmdp.set_text('')
$textBoxPC.set_text('')

$label = New-Object System.Windows.Forms.Label
$label.text = \&quot;$userCN\&quot;
$label.set_ForeColor(\&quot;Green\&quot;«»)
$label.Location = new-object System.Drawing.Size(350,200)


#Permet de verifier la date d'expiration de l'utilisateur


if ( $expiration -eq '')

{
#Ajoute un nouveau utilisateur lui donne un mdp active son compte
New-ADUser -Name “$Prenom” –surname “$Nom” –displayname “$displayname” –samaccountname “$ID” -path \&quot;OU=Permanent,OU=Users,OU=Fatih,DC=TESTE,DC=net\&quot;
Set-ADAccountPassword \&quot;CN=$ID,OU=Permanent,OU=Users,OU=Fatih,DC=TESTE,DC=net\&quot; -NewPassword (ConvertTo-SecureString -AsPlainText \&quot;$mdp\&quot; -Force)
unlock-ADAccount -Identity \&quot;CN=$ID,OU=Permanent,OU=Users,OU=Fatih,DC=TESTE,DC=net\&quot;
Enable-ADAccount -Identity \&quot;CN=$ID,OU=Permanent,OU=Users,OU=Fatih,DC=TESTE,DC=net\&quot;

#Copier coller des groupe d'un utilisateur vers un le nouveau
$Newuser = get-aduser \&quot;CN=$ID,OU=Permanent,OU=Users,OU=Fatih,DC=TEST,DC=net\&quot;
Get-ADPrincipalGroupMembership $PC | Add-ADGroupMember -member $Newuser

#Selecetionne le groupe primaire d'un utilisateur et le copie au nouveau
$PrimaryGroup = Get-ADUser $PC -Properties * | select PrimaryGroup
$groupPC = get-adgroup $PrimaryGroup.PrimaryGroup
$groupSid = $groupPC.sid
$groupSid
[int]$GroupID = $groupSid.Value.Substring($groupSid.Value.LastIndexOf(\&quot;-\&quot;«»)+1)
Get-ADUser \&quot;CN=$ID,OU=Permanent,OU=Users,OU=Fatih,DC=TESTE,DC=net\&quot; | Set-ADObject -Replace @{primaryGroupID=\&quot;$GroupID\&quot;}

}

else

{
New-ADUser –samaccountname “$ID” -Name “$Prenom” –surname “$Nom” –displayname “$displayname” -AccountExpirationDate \&quot;$expiration\&quot; -path \&quot;OU=Temporary,OU=Users,OU=Fatih,DC=TESTE,DC=net\&quot;
Set-ADAccountPassword \&quot;CN=$ID,OU=Temporary,OU=Users,OU=Fatih,DC=TEST,DC=net\&quot; -NewPassword (ConvertTo-SecureString -AsPlainText \&quot;$mdp\&quot; -Force)
unlock-ADAccount -Identity \&quot;CN=$ID,OU=Temporary,OU=Users,OU=Fatih,DC=TEST,DC=net\&quot;
Enable-ADAccount -Identity \&quot;CN=$ID,OU=Temporary,OU=Users,OU=Fatih,DC=TEST,DC=net\&quot;

$Newuser = get-aduser \&quot;CN=$ID,OU=Temporary,OU=Users,OU=Fatih,DC=TEST,DC=net\&quot;
Get-ADPrincipalGroupMembership $PC | Add-ADGroupMember -member $Newuser

$PrimaryGroup = Get-ADUser Fatih -Properties * | select PrimaryGroup
$groupPC = get-adgroup $PrimaryGroup.PrimaryGroup
$groupSid = $groupPC.sid
$groupSid
[int]$GroupID = $groupSid.Value.Substring($groupSid.Value.LastIndexOf(\&quot;-\&quot;«»)+1)
Get-ADUser \&quot;CN=$ID,OU=Temporary,OU=Users,OU=Fatih,DC=TESTE,DC=net\&quot; | Set-ADObject -Replace @{primaryGroupID=\&quot;$GroupID\&quot;}

}

})



#LABEL

$labelID = New-Object System.Windows.Forms.Label
$labelID.text = \&quot;ID\&quot;
$labelID.set_ForeColor(\&quot;Green\&quot;«»)
$labelID.Location = new-object System.Drawing.Size(40,50)
$labelID.size = new-object System.Drawing.Size(180,20)


$labelFN = New-Object System.Windows.Forms.Label
$labelFN.text = \&quot;First Name\&quot;
$labelFN.set_ForeColor(\&quot;Green\&quot;«»)
$labelFN.Location = new-object System.Drawing.Size(40,100)
$labelFN.size = new-object System.Drawing.Size(180,20)

$labelLN = New-Object System.Windows.Forms.Label
$labelLN.text = \&quot;Last name\&quot;
$labelLN.set_ForeColor(\&quot;Green\&quot;«»)
$labelLN.Location = new-object System.Drawing.Size(40,150)
$labelLN.size = new-object System.Drawing.Size(180,20)

$labelPC = New-Object System.Windows.Forms.Label
$labelPC.text = \&quot;Profile to copy\&quot;
$labelPC.set_ForeColor(\&quot;Green\&quot;«»)
$labelPC.Location = new-object System.Drawing.Size(40,200)
$labelPC.size = new-object System.Drawing.Size(180,20)

$labelDIS = New-Object System.Windows.Forms.Label
$labelDIS.text = \&quot;Displayname\&quot;
$labelDIS.set_ForeColor(\&quot;Green\&quot;«»)
$labelDIS.Location = new-object System.Drawing.Size(40,250)
$labelDIS.size = new-object System.Drawing.Size(180,20)


$labelmdp = New-Object System.Windows.Forms.Label
$labelmdp.text = \&quot;MDP\&quot;
$labelmdp.set_ForeColor(\&quot;Green\&quot;«»)
$labelmdp.Location = new-object System.Drawing.Size(40,300)
$labelmdp.size = new-object System.Drawing.Size(180,20)

$label = New-Object System.Windows.Forms.Label
$label.set_ForeColor(\&quot;Green\&quot;«»)
$label.Location = new-object System.Drawing.Size(400,50)
$label.size = new-object System.Drawing.Size(180,20)

#BOX
$textBoxID = New-Object System.Windows.Forms.TextBox
$textBoxID.Location = New-Object System.Drawing.Size(250,50)
$textBoxID.Size = New-Object System.Drawing.Size(90,30)
$textBoxID.MaxLength=7

$textBoxFN = New-Object System.Windows.Forms.TextBox
$textBoxFN.Location = New-Object System.Drawing.Size(250,100)
$textBoxFN.Size = New-Object System.Drawing.Size(90,30)

$textBoxLN = New-Object System.Windows.Forms.TextBox
$textBoxLN.Location = New-Object System.Drawing.Size(250,150)
$textBoxLN.Size = New-Object System.Drawing.Size(90,30)

$textBoxPC = New-Object System.Windows.Forms.TextBox
$textBoxPC.Location = New-Object System.Drawing.Size(250,200)
$textBoxPC.Size = New-Object System.Drawing.Size(90,30)

$textBoxDIS = New-Object System.Windows.Forms.TextBox
$textBoxDIS.Location = New-Object System.Drawing.Size(250,250)
$textBoxDIS.Size = New-Object System.Drawing.Size(90,30)

$textBoxmdp = New-Object System.Windows.Forms.TextBox
$textBoxmdp.Location = New-Object System.Drawing.Size(250,300)
$textBoxmdp.Size = New-Object System.Drawing.Size(90,30)

#Bouton1
$bouton1 = new-object System.Windows.Forms.Button
$bouton1.Text = 'Check'
$bouton1.Location = new-object System.Drawing.Size (350,200)
$bouton1.Add_Click({

$PC=$textBoxPC.get_text()
$textBoxPC.set_text('')


$user = get-ADuser -filter {Samaccountname -eq \&quot;$PC\&quot;} -SearchBase \&quot;DC=TESTE,DC=net\&quot;

if($user -ne $PC)

{
$label.text = \&quot;Users does not exist in AD\&quot;
}

else

{
$label.text = \&quot;User found in AD\&quot;
}

})


#ButtonRadio
$RadioBouton1 = New-Object System.Windows.Forms.RadioButton
$RadioBouton1.Location = new-object System.Drawing.Size(40,400)
$RadioBouton1.size = New-Object System.Drawing.Size(80,20)
$RadioBouton1.Text = \&quot;Permanent\&quot;
$RadioBouton1.checked = $false

$RadioBouton2 = New-Object System.Windows.Forms.RadioButton
$RadioBouton2.Location = new-object System.Drawing.Size(40,350)
$RadioBouton2.size = New-Object System.Drawing.Size(80,20)
$RadioBouton2.Text = \&quot;Temporary\&quot;
$RadioBouton2.checked = $false

$TextBoxFolder = New-Object System.Windows.Forms.TextBox
$TextBoxFolder.Location = New-Object System.Drawing.Size(250,350)
$TextBoxFolder.Size = New-Object System.Drawing.Size(90,30)
$TextBoxFolder.enabled = $false





$objForm.Controls | Where {
$RadioBouton2 -is [System.Windows.Forms.RadioButton]
} | ForEach {
$RadioBouton2.Add_Click
({

If ( -Not $TextBoxFolder.Enabled)

{
$TextBoxFolder.Enabled=$True
}
} )
}

$objForm.Controls | Where {
$RadioBouton1 -is [System.Windows.Forms.RadioButton]
} | ForEach {
$RadioBouton1.Add_Click
({

If ( $TextBoxFolder.Enabled)

{
$TextBoxFolder.Enabled=$False
}

})
}




#Controls
$form.Controls.Add($boutton)
$form.Controls.Add($bouton1)

$form.Controls.Add($label)
$form.Controls.Add($labelID)
$form.Controls.Add($labelFN)
$form.Controls.Add($labelLN)
$form.Controls.Add($labelPC)
$form.Controls.Add($labelDIS)
$form.Controls.Add($labelmdp)

$form.Controls.Add($textBoxID)
$form.Controls.Add($textBoxFN)
$form.Controls.Add($textBoxLN)
$form.Controls.Add($textBoxPC)
$form.Controls.Add($textBoxDIS)
$form.Controls.Add($textBoxmdp)
$Form.Controls.Add($TextBoxFolder)

$form.Controls.Add($RadioBouton1)
$form.Controls.Add($RadioBouton2)

[void]$form.showdialog()
[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.044 secondes
Propulsé par Kunena