Registrace  •  FAQ  •  Pravidla fóra  •  Uživatelské blogy  •  PCTuning.cz  •  Hledat  • Přihlášení
 • Funkce report, slouží pro upozornění na porušení pravidel, ne vzkazy moderátorům.

Právě je po 8. březen 2021, 14:21

Zobrazit příspěvky bez odpovědiZobrazit aktivní témata



Čas je uváděn v UTC + 1 hodina


Odpovědět na téma  [ 12 příspěvků ] 
Autor Zpráva
 Předmět: Powershell script - vypsání uživatelů ze skupiny
PříspěvekZaslal v: st 21. říjen 2020, 14:58 
Začátečník
Začátečník

Založen: 15. květen 2009
Nahoru
potřeboval bych script, který zajistí výpis do csv z určité distribuční skupiny ve tvaru zobrazované jméno + mail, včetně zanořených skupin

určitě je to triviální, ale přesný příklad jsem nevygooglil a to nejlepší co jsem dokázal, byl holej výpis uživatelů z určité skupiny, to mě je bez mailu k ničemu... nemáte ho náhodou někdo při ruce?

_________________
CPU: Intel core i5 4690k@4,6 GHz | GPU: GTX 970@1440MHz/8000MHz | MB: Asus Sabertooth Z97 MARK 2 | RAM: 2*8GB Kingston DDR3 | HDD: Samsung SSD 840 Evo 250GB | PSU: EVGA Gold 650W | OS: Win 7 Ultimate SP1 64-bit | Fire Strike: P10068


 Profil  
 Předmět: Re: Powershell script - vypsání uživatelů ze skupiny
PříspěvekZaslal v: st 21. říjen 2020, 16:59 
Čestný člen
Čestný člen

Založen: 22. duben 2005
Bydliště: Brno
Nahoru
Co tohle?
Kód:
Get-ADUser -SearchBase "OU=SomeOU,DC=Company,DC=ORG" -Properties * -Filter * | select samaccountname,mail | export-csv test.csv

Bere to i sub OUs. Samozřejme záleží jaké jméno tam chceš "name" nebo "samaccountname", to si můžeš zmenit podle libosti.

Pokud bys chtěl aby se přidalo i v jakém sub OU ti useři jsou, přidej to do selectu "CanonicalName", vyjede ti to celou cestu k objectu
Kód:
Get-ADUser -SearchBase "OU=SomeOU,DC=Company,DC=ORG" -Properties * -Filter * | select samaccountname,mail, CanonicalName | export-csv test.csv


 Profil  
 Předmět: Re: Powershell script - vypsání uživatelů ze skupiny
PříspěvekZaslal v: st 21. říjen 2020, 17:12 
Začátečník
Začátečník

Založen: 15. květen 2009
Nahoru
dík, zítra zkusím, ještě abych si to ujasnil -

Get-ADUser -SearchBase "OU=SomeOU,DC=Company,DC=ORG" -Properties * -Filter * | select samaccountname,mail | export-csv test.csv

místo toho tučného "OU=SomeOU,DC=Company,DC=ORG" tam mohu nacpat to konkrétní jméno distribuční skupiny, kterou chci prohledat a vypsat a ono si ji to už najde v AD samo?

_________________
CPU: Intel core i5 4690k@4,6 GHz | GPU: GTX 970@1440MHz/8000MHz | MB: Asus Sabertooth Z97 MARK 2 | RAM: 2*8GB Kingston DDR3 | HDD: Samsung SSD 840 Evo 250GB | PSU: EVGA Gold 650W | OS: Win 7 Ultimate SP1 64-bit | Fire Strike: P10068


 Profil  
 Předmět: Re: Powershell script - vypsání uživatelů ze skupiny
PříspěvekZaslal v: st 21. říjen 2020, 17:17 
Odborník PCT
Odborník PCT
Obrázek uživatele

Založen: 05. červen 2003
Bydliště: sluníčkář a havloid z pražské lumpenkavárny
Nahoru
ale tohle cílí skript na OU v AD, ne na distribuční skupinu

_________________
ignorelist: mimo jiné všechny kremrole (danny1691, Lokomotiva, CZECHYa, pavel2003, shorty25, ajtak, stepan001, ulver, brambora81, CZ_viper, tielka a pár dalších exotů)


 Profil  
 Předmět: Re: Powershell script - vypsání uživatelů ze skupiny
PříspěvekZaslal v: st 21. říjen 2020, 17:21 
Čestný člen
Čestný člen

Založen: 22. duben 2005
Bydliště: Brno
Nahoru
Jesus, máš recht, jsem si to nepřečetl porádně :roll:

Já jel hned AD a ne exchange


 Profil  
 Předmět: Re: Powershell script - vypsání uživatelů ze skupiny
PříspěvekZaslal v: st 21. říjen 2020, 17:44 
Začátečník
Začátečník

Založen: 15. květen 2009
Nahoru
zombux napsal:
ale tohle cílí skript na OU v AD, ne na distribuční skupinu

to je dobře, ono to poslouží stejně, tu distribuční skupinu máme i v AD, takže ji můžu klidně vypsat odtamtud, pokud stačí jen vybrat konkrétní jméno a ostatní je stejné, nebo ne?

_________________
CPU: Intel core i5 4690k@4,6 GHz | GPU: GTX 970@1440MHz/8000MHz | MB: Asus Sabertooth Z97 MARK 2 | RAM: 2*8GB Kingston DDR3 | HDD: Samsung SSD 840 Evo 250GB | PSU: EVGA Gold 650W | OS: Win 7 Ultimate SP1 64-bit | Fire Strike: P10068


 Profil  
 Předmět: Re: Powershell script - vypsání uživatelů ze skupiny
PříspěvekZaslal v: čt 22. říjen 2020, 08:10 
Začátečník
Začátečník

Založen: 15. květen 2009
Nahoru
tak ten příkaz z vrchu úplně nezafungoval podle představ, pole "mail" prostě nevypsal, -Properties * -Filter * jako neznámé příkazy tak jsem je vyhodil a stejně nic

ale použil jsem přes exchange management shell tohle:
Kód:
Get-DistributionGroupMember xxxxxxxxxxxx | select displayName,PrimarySMTPAddress |  Export-CSV -Encoding "UTF8" c:\temp\dg.csv

není to dokonalé, protože to neprochází vnořené a PrimarySMTPAddress není vždy mail, pole "mail" (u kontaktů) to ale nechce vypsat, ale alespoň něco

_________________
CPU: Intel core i5 4690k@4,6 GHz | GPU: GTX 970@1440MHz/8000MHz | MB: Asus Sabertooth Z97 MARK 2 | RAM: 2*8GB Kingston DDR3 | HDD: Samsung SSD 840 Evo 250GB | PSU: EVGA Gold 650W | OS: Win 7 Ultimate SP1 64-bit | Fire Strike: P10068


 Profil  
 Předmět: Re: Powershell script - vypsání uživatelů ze skupiny
PříspěvekZaslal v: čt 22. říjen 2020, 08:41 
Odborník PCT
Odborník PCT
Obrázek uživatele

Založen: 05. červen 2003
Bydliště: sluníčkář a havloid z pražské lumpenkavárny
Nahoru
no, pozor na jednu věc. pole mail (nebo email? teď jsem zapomněl) je takový ten "windows email", který nemusí nutně vždycky korespondovat s Exchange adresou - typicky ano, ale není to pravidlo. PrimarySMTPAddress jde z Exchange takže to správně je. pak můžeš případně ještě vypsat ProxyAddresses (zase mě neber doslova, už je to pár let co jsem se s tímhle sral), to je ale zase objekt a musíš zanořovat nebo parsovat. vtip je taky v tom, že get-user, get-aduser, get-mailbox nebo get-mailboxstatistics mají omezený scope a je třeba je používat podle toho co zrovna chceš vypsat.

_________________
ignorelist: mimo jiné všechny kremrole (danny1691, Lokomotiva, CZECHYa, pavel2003, shorty25, ajtak, stepan001, ulver, brambora81, CZ_viper, tielka a pár dalších exotů)


 Profil  
 Předmět: Re: Powershell script - vypsání uživatelů ze skupiny
PříspěvekZaslal v: čt 22. říjen 2020, 11:01 
Nováček
Nováček

Založen: 23. srpen 2004
Bydliště: Plzeň
Nahoru
Jelikoz potrebujes rekurzi, tak to uz na one-liner v Exchange Shellu nebude (Get-DistributionGroupMember ho neumi), proto bych spis doporucil jit na to cestou skrz AD (coz jsem pochopil, ze ti nevadi).

Takze Get-ADGroupMember spolecne s parameterem -Recursive a nasledne si z toho vytahnout vystup, ktery potrebujes.

Pro inspiraci treba takhle :

Kód:
Get-ADGroupMember -Identity "DistroGroup" -Recursive | Get-ADUser -Properties DisplayName,Mail,TargetAddress | select -Property DisplayName,Mail,TargetAddress


Jelikoz nevim, jak to mate v ramci Vaseho Exchange udelane (on-prem / Exchange online / hybrid), tak saham jak po atributu mail (tam by, jak uz Zombux rikal, mel *ve vetsine pripadu* byt ten samy udaj, jaky vidi Exchange ... ale bohuzel ne vzdy to je pravidlem), tak zaroven TargetAddress (coz ale muze byt kontraproduktivni, pokud zrovna migrujete do cloudu, apod.) - kazdopadne pro on-prem bude fungovat spolehlive.

Pokud by tohle nestacilo, tak uz je to na parsovani ProxyAddresses atribut z AD (tam jsou uvedeny vsechny adresy (zamerne nechci rikat mailovky), ktere na sobe objekt ma, ale to uz je opet spis na skript nez jednoduchy one-liner ... nebo si dopsat rekurzi pro Get-DistributionGroupMember


 Profil  
 Předmět: Re: Powershell script - vypsání uživatelů ze skupiny
PříspěvekZaslal v: čt 22. říjen 2020, 11:40 
Začátečník
Začátečník

Založen: 15. květen 2009
Nahoru
jsme zrovna v mezicestě do online, v on-premisu je už jen část, do online exchange shellu nemám přístup, takže si musím vystačit s tímhle exportem z onpremisovýho nebo z AD, ono je to stejně 1:1.
To pole s mailem se skutečně jmenuje "mail", nevím, proč ho ten první příkaz nevytáhnul a ještě byl celý název uživatele ve tvaru výpisu cesty i s OU, místo holého názvu (jméno a příjmení)

ten TargetAddress vypisuje ty nesmyslný jmeno@mail.onmicrosoft...

_________________
CPU: Intel core i5 4690k@4,6 GHz | GPU: GTX 970@1440MHz/8000MHz | MB: Asus Sabertooth Z97 MARK 2 | RAM: 2*8GB Kingston DDR3 | HDD: Samsung SSD 840 Evo 250GB | PSU: EVGA Gold 650W | OS: Win 7 Ultimate SP1 64-bit | Fire Strike: P10068


 Profil  
 Předmět: Re: Powershell script - vypsání uživatelů ze skupiny
PříspěvekZaslal v: čt 22. říjen 2020, 11:56 
Odborník PCT
Odborník PCT
Obrázek uživatele

Založen: 05. červen 2003
Bydliště: sluníčkář a havloid z pražské lumpenkavárny
Nahoru
no však jasně že vypisuje, když jsou už v cloudu (samozřejmě pak taky záleží jak máš nastavenej routing mezi internetem, O365 a on-prem)

_________________
ignorelist: mimo jiné všechny kremrole (danny1691, Lokomotiva, CZECHYa, pavel2003, shorty25, ajtak, stepan001, ulver, brambora81, CZ_viper, tielka a pár dalších exotů)


 Profil  
 Předmět: Re: Powershell script - vypsání uživatelů ze skupiny
PříspěvekZaslal v: pá 23. říjen 2020, 01:07 
Nováček
Nováček

Založen: 23. srpen 2004
Bydliště: Plzeň
Nahoru
Pokud zrovna migrujete do O365, tak atribut TargetAddress uz je zavadejici - jak uz jsi sam zjistil, Exchange tam po migraci mailboxu do cloudu upravi u objektu cilovou domenu na tu "online routing" tak, aby korektne fungoval mezi Exchange on-prem a Exchange online mail flow, Free/Busy lookup a dalsi veci. Takze to ti bude k k nicemu.

Za predpokladu, ze jedete v hybridu (coz bych si tipnul), tak info v cloudu bude z drtive vetsiny opravdu 1:1 s AD odkud se objekty syncuji, tim padem to co ti vrati AD, bude spravne.


 Profil  
Zobrazit příspěvky za poslední:  Řadit podle  
Odpovědět na téma  [ 12 příspěvků ] 


Čas je uváděn v UTC + 1 hodina


Přejít do sekce:
  

Kdo je přihlášený

Uživatelé procházející si tuto sekci: Žádní registrovaní uživatelé a 1 anonymní


Nemůžete zakládat nová témata v této sekci
Nemůžete odpovídat na příspěvky v této sekci
Nemůžete upravovat své příspěvky v této sekci
Nemůžete mazat své příspěvky v této sekci
Nemůžete připojit přílohy v této sekci

 
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Český překlad - PCT fórum, Zásady ochrany osobních údajů.