akapity w powershell i grupy uniwersalne.

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:

echo "aaa".padlef(10)

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:

function groupDeps {
################################################################
#.Synopsis
#  shows group memebership with nesting to find all dependencies
#  helpfull i.e. before changing from Global to Universal
#.Parameter Identity
#  function is using ActiveDirectory module's get-AdGroup. Identity
#  may be group Identity name od DN.
################################################################
  param(
    [Parameter(Mandatory=$true)][string]$Identity,
    [int]$level=1 
  )
  import-module ActiveDirectory
  $grp=get-AdGroup -Identity $Identity -properties memberof
  $mofnr=$grp.memberof.count
  #echo "group is a member of $mofnr groups"
  if($mofnr -ne 0) {
    if($?) {
      $str="$($grp.name) is member of:"
      echo $str.padLeft($str.length+(($level-1)*4))
      $grp.memberof|%{
        $str="-> $_" ;
        echo $str.padLeft($str.length+($level*4))
        groupDeps $_ ($level+1)
      }
    } else {
      echo $error
    }
  }
}

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

nowości w wersji 8.1

windowsbluestock_large_verge_medium_landscape

zbliża się niebieskie [fuj – nie lubię niebieskiego] czyli Windows 8.1. czyli wersja R2 dla Windows 8/2o12. wersja public preview powinna już być – miała wystartować na Teched North America. finalna – pod koniec roq. co nowego?

widać bardzo wyraźnie, że większość zmian zorientowana jest na urządzenia mobilne – opcja 'w pomiędzy’ aka 'Workplace Join’ dla stacji nie w domenie ale korzystających z jej zasobów, rozszerzenia MDM, VPN, jest zapowiadany lockdown dla Windows Store pozwalający na określenie co na takim urządzeniu może być instalowane.

Oczywiście wstrętny kolor idzie w parze z kontynuacją wstrętnego interfejsu. okazuje się, że kafelki znów spróbują ewoluować do okienek – modern ui ma wprowadzić usprawnienia do pokazywania więcej niż jednej aplikacji. LoL. było kiedyś powiedzienie „why use windows since there are doors?” – można teraz z powodzeniem sparafrazować „why use tiles since there are windows?” ale , ale… zgodnie z przewidywaniami i karmą:

Boot to Desktop – we have made configuration options available which will allow you to boot directly to the desktop in Windows 8.1

TADAM! nawet boję się pomyśleć ile ludzie z emesów dostali milutkich maili na temat modern UI. ciekawe czy będzie też hidenficzer żeby włączyć guzik 'start’. nie wydaje się, bo to by oznaczało ostateczne przyznanie się do porażki i zniwelowałoby siłę z jaką próbowali zmusić świat do tego poronionego pomysłu używania modern UI na 'biurowym’ kompie.

jest też druga opcja, którą wycofano z wersji 8.o, polało się trochę błota na twarze decydentów i oto wraca, nawet w poprawionej wersji:

RDS Enhancements – Enhanced VDI in Server 2012 R2 which delivers improvements in Management, Value, and User Experience. Session Shadowing allows Admins to view and remotely control active user sessions in an RDSH server[…]

czekam z niecierpliwością – obecna wersja mocno mnie boli i liczę na to, że trochę jednak zforkują interfejs…

eN.

 

Rzut oka w przyszłość

Czas wyrwać się na chwile z kanału w którym megabity tarzają się z megahercami i spojrzeć trochę w przyszłość. Trafiłem ostatnio na artykuł w prasie nie-branżowej, starający się określić naszą przyszłość i technologie, które na nią wpłyną.
Okazało się że nie kojarzę części terminów. Wstyd, aby Wam go oszczędzić, poniżej słowniczek-pomocniczek oraz źródła:

Bardzo ładny obrazek: https://bis.gazeta.pl/im/41/58/bb/z12277825O.jpg 
To samo w języku language  
http://envisioningtech.com/envisioning2012/

A teraz wybrane hasła i szacowane terminy „trafienia pod strzechy”

 

Wolumetryczne ekrany 3D (2014)
http://www.chemgeneration.com/pl/news/najfajniejsze-wynalazki-przysz%C5%82o%C5%9Bci.html

Sieci kratowe (2017)
http://www.networld.pl/artykuly/345202_3/Sieci.kratowe.80211s.html
http://pl.wikipedia.org/wiki/802.11s

Interfejs haptyczny (2019)
http://pl.wikipedia.org/wiki/Technologia_haptyczna

Szkło fotowoltaiczne (2019)
http://www.izolacje.com.pl/aktualnosc/id1404,szklo-z-ogniwami-fotowoltaicznymi

Optogenetyka (2029)
http://dolinabiotechnologiczna.pl/nowosci/optogenetyka-%E2%80%94-kolejny-krok-na-trudnej-drodze-do-wyleczenia-parkinsona/

Arkologia (2039)
http://pl.wikipedia.org/wiki/Arkologia

Reaktor fal wędrujących
http://kopalniawiedzy.pl/reaktor-jadrowy-pluton-uran-reaktor-z-fala-wedrujaca-TWR,6953

Exocortex – rozszerzony mózg (2036)
http://www.edunews.pl/nowoczesna-edukacja/innowacje-w-edukacji/2253-nasze-mozgi-rozszerzone
http://en.wikipedia.org/wiki/Exocortex

Dla hardkorów

Sekwestracja węgla (2034)
http://pl.wikipedia.org/wiki/Sekwestracja_dwutlenku_w%C4%99gla

Reaktor torowy (2034)
http://pl.wikipedia.org/wiki/Reaktor_torowy_na_ciek%C5%82ych_fluorkach