zadanie: trzeba zmienić grupy globalne na uniwersalne. zadanie o tyle nietrywialne, że grupa uniwersalna, nie może być członkiem grupy globalnej. a więc nie da się po prostu zaznaczyć wielu grup [czy też przelecieć skryptem] i zmienić ich w uniwersalne, bo posypią się błędy właśnie z takim opisem. trzeba najpierw znaleźć zagnieżdżenia i zmieniać typ ‚od dołu’.[swoją drogą, to wymuszenie w Exchange 2o1o+ z grupami uniwersalnymi jest pasqdny – właśnie z powodu tego, jak trzeba się napocić z konwersją i konsekwencjami w produkcji…]

klient ma bardzo złożoną strukturę grup więc żeby sobie trochę pomóc na szybko napisałem skrypt, który rekursywnie listuje memberof… i zatrzymałem się nad głupim problemem – jak ładnie wyświetlić poziomy zagnieżdżenia? trzeba na początq wstawić jakieś spacje. szybko znalazłem funkcję ‚padleft’ tylko… że nie chciała działać. krótki test typu:

wszystko działa. tymczasem w mojej funkcji nie chce… o co c’mon? chwilę mi zajęło zanim zwróciłem uwagę na drobny szczegół – liczba, jaką się podaje, to nie długość akapitu a długość finalnego ciągu, który chcemy uzyskać. w sumie to faktycznie – tak właśnie ma działać funkcja ‚pad’! nie ‚przesuwać o’ a ‚przesuwać do‚.

finalnie skrypt wygląda tak:

i jak zwykle najwięcej czasu poszło na pierdoły q:
eN.