
Čtení hodnot z AD za pomocí powershellu
Zdar lidi, potřebuji do jednoho skriptu načíst hodnoty z AD. Konkrétně jméno a příjmení. Tyto hodnoty naplnit do proměnných aby se s nimi dalo pracovat.
Tzn, abych dostal do proměnné pouze FRANTA, nebo NOVÁK. A to vše na konkrétního uživatele.
Nemůžu se toho nikde dopátrat :((
tohle mi třeba nefunguje.., a různé modifikace co jsem zkoušel taky ne
$jmeno = get-qaduser -identity test_uzivatel | select surname
Díky za pomoc, tipy
napadá někoho něco? Děkuji
Napiš konkrétně co potřebuješ..
S výběrem dat z AD pomocí powershellu už mám nějaké zkušenosti ..
[PS] C:\tmp\ps1>$a = get-aduser testuser |select givenname,surname
[PS] C:\tmp\ps1>$a
givenname surname
--------- -------
Test User
Nevidím problém ...
a v qad to povalí taky, které už ve skriptu používám, protože musím?
a díval ses co se ti skutečně načte do té proměnné ? write-host $a ? protože to by se pak dle mě doplňovalo do kolonky, ale v QAD se to chová stejně trochu jinak,
a tohle je právě to s čím bojuji, vypsat do okna PS není problém..
nevypisuj do description kolekci $a .. protože ta obsahuje jak jmeno tak přijmení ..
udělej si mezi tím ještě jednu proměnou kde spojíš $a.givenname a $.surname (viz příklad dole) a to pak přes set-qaduser vlož
[PS] C:\tmp\ps1>$a = get-aduser novap |select givenname,surname
[PS] C:\tmp\ps1>write-host $a
@{givenname=petr; surname=novak}
[PS] C:\tmp\ps1>$b = $a.givenname + ' ' + $a.surname
[PS] C:\tmp\ps1>$b
Petr Novak
[PS] C:\tmp\ps1>
.. tj. proměnnou $b můžeš přes set-qaduser vložit ..
přesně tak, zakládám nové uživatele do AD a za pomocí Quest - AD pak naplňuji kolonky infem, cesty atd.
Nyní potřebuji ale do kolonky popis dostat z již existující karty v AD Jméno z konkrétního editovaného uživatele. Jméno + Přijmení., tzn, když dam uživatelské jméno novakp, aby mi hodil do popisu na kartu v AD pouze : Petr Novák
díky
$user = get-aduser novap #petr novak napriklad
$description = $user.givenname + ' ' + $user.surname #za předpokladu že givenname je petr a surname novak
$description #ciste pro kontrolu jak description vypada
set-aduser novap -Description $description #vyplnění pole description
.. sice používám AD Cmdlet a nikoliv QAD ... ale předpokládám že syntaxe bude stejná.
Tohle celé můžeš dát do loopu.. např. #z hlavy.. neozkoušeno
$a = get-aduser -filter * -properties name,givenname,surname
foreach ($user in $a){
$description = $user.givenname + ' ' + $user.surname
write-host "nastavuji uživatele $description"
set-aduser $user -Description $description
}
Tak super, díky moc všem, nakonec se s vaší pomocí zadařilo, a stačilo mi přidat 2 řádky :)
$jmeno = $user.givenname ,$user.sn
$user.psbase.Invokeset("description","$titulpred$j meno$titulza")
Takže ještě jednou, díky znalým za pomoc