Se connecter à ADLDS via Powershell en SSL
Petit script pour pouvoir se connecter en Powershell et via SSL (636) à une instance AD LDS.
# Remplacez les valeurs entre guillemets par le nom de votre serveur AD LDS et le nom de domaine / partition LDAP approprié :
$serverName = "Instance.ad.lds"
$domainName = "o=partition"
# Remplacez les valeurs entre guillemets par le nom d'utilisateur et le mot de passe de votre compte de connexion à AD LDS
$userName = "CN=MyAdmin,OU=Users,O=partition"
$password = "My_super_password"
# Notez qu'il sera plus préférable de chiffrer le mot de passe dans le script
# Création des informations de connexion pour ADSIEdit
$adsPath = "LDAP://" + $serverName + ":" + "636" + "/" + $domainName
$credential = New-Object System.Management.Automation.PSCredential($userName, (ConvertTo-SecureString $password -AsPlainText -Force))
$authType = [System.DirectoryServices.AuthenticationTypes]::SecureSocketsLayer
# Connexion à l'AD LDS via ADSIEdit
$root = New-Object System.DirectoryServices.DirectoryEntry($adsPath, $credential.UserName, $credential.GetNetworkCredential().Password, $authType)
# Vérification de la connexion
if ($root.Name -ne $null) {
Write-Host "Connexion à l'AD LDS réussie"
}
else {
Write-Host "La connexion à l'AD LDS a échoué"
}
# Obtenez les utilisateurs dans l'AD LDS
$ADLDSFilter = "(objectClass=user)"
$ADLDSProperties = @("cn", "samaccountname", "distinguishedname")
$ADLDSUsers = New-Object DirectoryServices.DirectorySearcher($ADLDS, $ADLDSFilter, $ADLDSProperties)
$ADLDSUsers.PageSize = 1000
$ADLDSUsers.FindAll() | ForEach-Object {
Write-Host "CN: $($_.Properties.cn)"
Write-Host "SAMAccountName: $($_.Properties.samaccountname)"
Write-Host "DistinguishedName: $($_.Properties.distinguishedname)"
Write-Host "-----------------------"
}