Question
vérifier si utilisateur est présent dans l'AD
- Nicolas Dupont
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 1
- Remerciements reçus 0
il y a 15 ans 9 mois #7193
par Nicolas Dupont
vérifier si utilisateur est présent dans l'AD a été créé par Nicolas Dupont
Bonjour à tous,
voilà j'ai juste besoin bêtement de vérifier à partir d'un csv si un utilisateur existe dans l'AD. Pour ce faire j'ai écrit le script suivant:
[code:1]Import-module ActiveDirectory
#test si utilisateur existe dans AD a partir liste nom dans csv
$users = Import-CSV D:\csv\Export118.csv
foreach ($user in $users)
{
$adn=$user.Nom
#changer -Searchbase ?
if (Get-AdUser -Identity $adn )
{
Write-Host $user.Nom
Write-Host \"existe dans l'AD\"
}
else {
Write-Host $user.Nom
Write-Host \"n'existe pas dans l'AD\"
}[/code:1]
Le code fonctionne, sauf qu'à chaque fois, l'utilisateur n'existe pas car Get-Aduser filtre à partir de DC=pedagotest,DC=...,DC=...,DC=fr
alors que je voudrais qu'il parte de l'OU etudiants
('OU=etudiants,DC=pedagotest,DC=...,DC=...,DC=fr') et évidemment je ne sais pas faire.
Merci à tous ceux qui se pencheront sur ce problème idiot, mais casse-pieds!!<br><br>Message édité par: Arnaud, à: 25/06/10 14:26
voilà j'ai juste besoin bêtement de vérifier à partir d'un csv si un utilisateur existe dans l'AD. Pour ce faire j'ai écrit le script suivant:
[code:1]Import-module ActiveDirectory
#test si utilisateur existe dans AD a partir liste nom dans csv
$users = Import-CSV D:\csv\Export118.csv
foreach ($user in $users)
{
$adn=$user.Nom
#changer -Searchbase ?
if (Get-AdUser -Identity $adn )
{
Write-Host $user.Nom
Write-Host \"existe dans l'AD\"
}
else {
Write-Host $user.Nom
Write-Host \"n'existe pas dans l'AD\"
}[/code:1]
Le code fonctionne, sauf qu'à chaque fois, l'utilisateur n'existe pas car Get-Aduser filtre à partir de DC=pedagotest,DC=...,DC=...,DC=fr
alors que je voudrais qu'il parte de l'OU etudiants
('OU=etudiants,DC=pedagotest,DC=...,DC=...,DC=fr') et évidemment je ne sais pas faire.
Merci à tous ceux qui se pencheront sur ce problème idiot, mais casse-pieds!!<br><br>Message édité par: Arnaud, à: 25/06/10 14:26
Connexion ou Créer un compte pour participer à la conversation.
- Jireck
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 44
- Remerciements reçus 0
il y a 15 ans 9 mois #7195
par Jireck
Réponse de Jireck sur le sujet Re:vérifier si utilisateur est présent dans l'AD
Salut
Moi j'utilise cela
[code:1]
# Doc Check-ADUser
# Sample Usage:
# $Status = (Check-ADUser -username \"yusufozturk\"«»).Status
# If ($Status -eq 1) {
# Write-Host User is already exist
# } Else {
# Write-Host You need to create a new user
# }
Function Check-ADUser{
Param ($Username)
$Username = ($Username.Split(\"\\"«»)[1])
$auth = [System.DirectoryServices.AuthenticationTypes]::FastBind
$ADRoot = New-Object System.DirectoryServices.DirectoryEntry('LDAP://SERVER/OU=XXXX,OU=YYYY,OU=ZZZZ,DC=AAAA,DC=local','Administrateur@AAAA.local','Password',$auth)
$ADSearch = New-Object System.DirectoryServices.DirectorySearcher($ADRoot)
$SAMAccountName = \"$Username\"
$ADSearch.Filter = \"(&(objectClass=user)(sAMAccountName=$SAMAccountName))\"
$Result = $ADSearch.FindAll()
If($Result.Count -eq 0){
Write-Host \"No such user on the Server\" | Out-Null
$Status = \"0\"
}Else{
Write-Host \"User exist on the Server\" | Out-Null
$Status = \"1\"
}
$Results = New-Object Psobject
$Results | Add-Member Noteproperty Status $Status
Write-Output $Results
$Status
}
[/code:1]
Voili
Moi j'utilise cela
[code:1]
# Doc Check-ADUser
# Sample Usage:
# $Status = (Check-ADUser -username \"yusufozturk\"«»).Status
# If ($Status -eq 1) {
# Write-Host User is already exist
# } Else {
# Write-Host You need to create a new user
# }
Function Check-ADUser{
Param ($Username)
$Username = ($Username.Split(\"\\"«»)[1])
$auth = [System.DirectoryServices.AuthenticationTypes]::FastBind
$ADRoot = New-Object System.DirectoryServices.DirectoryEntry('LDAP://SERVER/OU=XXXX,OU=YYYY,OU=ZZZZ,DC=AAAA,DC=local','Administrateur@AAAA.local','Password',$auth)
$ADSearch = New-Object System.DirectoryServices.DirectorySearcher($ADRoot)
$SAMAccountName = \"$Username\"
$ADSearch.Filter = \"(&(objectClass=user)(sAMAccountName=$SAMAccountName))\"
$Result = $ADSearch.FindAll()
If($Result.Count -eq 0){
Write-Host \"No such user on the Server\" | Out-Null
$Status = \"0\"
}Else{
Write-Host \"User exist on the Server\" | Out-Null
$Status = \"1\"
}
$Results = New-Object Psobject
$Results | Add-Member Noteproperty Status $Status
Write-Output $Results
$Status
}
[/code:1]
Voili
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.035 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- vérifier si utilisateur est présent dans l'AD