Question vérifier si utilisateur est présent dans l'AD

Plus d'informations
il y a 15 ans 9 mois #7193 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.:dry:

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.

Plus d'informations
il y a 15 ans 9 mois #7195 par Jireck
Salut

Moi j'utilise cela

[code:1]
# Doc Check-ADUser
# Sample Usage:
# $Status = (Check-ADUser -username \&quot;yusufozturk\&quot;«»).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(\&quot;\\&quot;«»)[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 = \&quot;$Username\&quot;

$ADSearch.Filter = \&quot;(&amp;(objectClass=user)(sAMAccountName=$SAMAccountName))\&quot;

$Result = $ADSearch.FindAll()

If($Result.Count -eq 0){

Write-Host \&quot;No such user on the Server\&quot; | Out-Null
$Status = \&quot;0\&quot;

}Else{

Write-Host \&quot;User exist on the Server\&quot; | Out-Null
$Status = \&quot;1\&quot;

}

$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
Propulsé par Kunena