Ten artykuł ma 275 słów.
Łączenie z Active Directory
Czego potrzebujesz?
- OU, z którego będziesz chciał(a) zaciągnąć użytkowników. W tym artykule będziemy używać “OU=My Company,DC=ad-lab-domain,DC=local”
- Tokenu do połączenia z okKoala. Zaloguj się na swoje konto administatora okKoala, wejdź w Ustawienia > Integracja > Token API > Pokaż.
Krok 1: Testowanie danych
Przygotuj skrypt Powershell, wstaw i uruchom poniższy kod. Uwzględnij, z jakiego OU chcesz pobrać użytkowników.
$users = Get-ADUser -Filter * -SearchBase "OU=My Company,DC=ad-lab-domain,DC=local"
foreach ($user in $users) {
$body = @{
"email" = $user.UserPrincipalName;
"first_name" = $user.GivenName;
"last_name" = $user.Surname;
}
$body
}
W naszym przykładzie mamy taki wynik:
Name Value
---- -----
email john.smith@ad-lab-domain.local
last_name Smith
first_name John
email jane.doe@ad-lab-domain.local
last_name Doe
first_name Jane
email jan.kowalski@ad-lab-domain.local
last_name Kowalski
first_name Jan
Być może będziesz musiał(a) zmienić parametr, żeby np. email nie był pobierany z UPN ($user.UserPrincipalName), ale z pola email ($user.EmailAddress).
Krok 2: Utworzenia połączenia
Zmodyfikuj poniższy skrypt zgodnie z tym, co zrobiłeś/aś w poprzednim krokiem. W miejsce <TOKEN Z KOALI> wstaw swój token administratora z okKoala.
$headers = @{
"Authorization"= "<TOKEN Z KOALI>";
}
$users = Get-ADUser -Filter * -SearchBase "OU=My Company,DC=ad-lab-domain,DC=local"
foreach ($user in $users) {
$body = @{
"email" = $user.UserPrincipalName;
"first_name" = $user.GivenName;
"last_name" = $user.Surname;
}
try {
$resp = Invoke-WebRequest -Uri "https://api.okkoala.com/users" `
-Headers $headers `
-Method POST `
-Body ($body|ConvertTo-Json) `
-ContentType "application/json" `
$resp
If ($resp.StatusCode -gt 199 -and $resp.StatusCode -lt 300) {
$status = "OK"
} Else {
$status = "Error"
}
Write-Host $params.email ":" $status
} catch {
$_.Exception
}
}
Uruchom skrypt, użytkownicy pojawią się w panelu okKoala. Tam możesz przydzielić licencje.
(Opcjonalnie) Krok 3: Utwórz harmonogram synchronizacji
Przygotowany skrypt możesz dodać do zadań na serwerze. Postępuj zgodnie z dokumentacją Microsoft: