Skip to Content

IT nieuczesane.

SSPR vs contact info

ciekawy case dotyczący uruchamiania Self-Service Password Reset (SSPR) i zarazem lekcja – workaround to nie solution q:

zgłosił się do mnie zapłakany klient, że uruchamiają SSPR i muszą jakoś dostarczyć dane użytkowników do portalu. do niedawna nie było to możliwe (uservoice z 2o18), ale od jakiegoś czasu Microsoft w swojej wielkości dostarczył… no właśnie, co dostarczył? obejście problemu opisane tutaj. ‚czemu obejście?’ zapyta ktoś, kto uważnie przestudiuje, sprawdzi i stwierdzi że działa…

…ano problem polega na tym, że informacje do SSPR brane są z atrybuty ‚StrongAuthenticationUserDetails’. ten atrybut ma kilka cech odróżniających go od zwykłego atrybutu np. ‚telephoneNumber’ a jednym z nich jest fakt… że nie wypełnia wizytówki użytkownika. jest niewidzialny.

i teraz taki myk…

tak wygląda użytkownik, który wszedł na portal i wypełnił sobie dane do MFA/SSPR:

i wyświetlmy sobie właściwości w AAD:

a teraz, za artykułem, prepopuluję (dziś super po polsq) atrybuty:

no i output takiej operacji:

co się dzieje dalej? hasło dla testuser02 resetuję i działa. kiedy próbuję dostać się do portalu o365, dostaję standardowe pytanie o uzupełnienie obligatoryjnych pól do zabezpieczenia konta (czyli te do MFA, które zapisują się w StrongAuthenticationUserDetails).

a więc to …’rozwiązanie’ nie działa dla MFA, jest obejściem dla SSPR, i dane ‚zabezpieczające’ stają się *publicznie* dostępne dla wszystkich w organizacji ROTFLMAO.

eN.

ITechDay 2o19

już wkrótce, 7.o3.19, wyczekiwany ITechDay. organizator zgodził się na zwiększenie liczby uczestników do 8oo osób, w związq z czym dostępna jest dodatkowa pula wejściówek (:

polecam do zapoznania się z agendą i szybką decyzje, bo wejściówki zazwyczaj rozchodzą się w mgnieniu oka – niemal z dosłownością tego powiedzenia. zasługa oczywiście i doborowych prelegentów, organizacji, atmosfery i oczywiście faktu, że jest to impreza bezpłatna.

serdecznie zapraszam!

eN.

społecznie – WGUiSW i o365 User Group

już w najbliższy wtorek, 19.o2, 1o7 WGUiSW – na nim kontynuacja serii Marka dot. office 365, sesja Kamila o Microsoft Graph oraz Mariusza o tym, jak przenieść małą firmę do Azure. jak widać tematyka przenosi się do chmury…

a w następny wtorek, 26.o2, pierwsze (SIC! #1spotkanie grupy O365 User Group. grupę prowadzi wspomniany Kamil oraz Michał – znani ze świetnych konferencji ShareCon365. tematy ciekawe – Teams i PowerApps. trzymam kciuki (:

eN.

Oneliner wyświetlający administratorów AAD/o365

trochę zabawa żeby udowodnić co może PS, bo można łatwiej, ale na pewno w większej ilości kroqw.

scenariusz: wyświetlić wszystkich adminów i ich role w AAD. niby proste, mamy do dyspozycji get-AzureADDirectoryRole i get-AzureADDirectoryRoleMember. a więc we w miarę prostej postaci można to zrobić tak:

już tutaj zapytanie jest dość złożone. z ciekawych elementów, które warto wyjaśnić:

  • $rn=$_.displayname jest ściśle powiązane z faktem, żeby potem wykorzystać je w selekcie. bez tego utracona by została informacja dotycząca roli – a więc byłaby lista użytkowników, bez informacji o tym, o którą rolę chodzi.
  • ..i tak w selekcie następuje ‚wstrzyknięcie’ tej informacji poprzez @{N=’role’;E={$rn}} – utworzona zostaje dodatkowa kolumna o nazwie ‚role’.

niemniej to nie koniec ‚zabawy’ bo otrzymamy płaską listę, na której jeden login może występować wiele razy – dla każdej roli w której się pojawia. mamy oczywiście ‚group-object’ które pozwoli połączyć to w jedną całość… tylko co ukaże się naszym oczom nie będzie przyjemne.

problem, który się pojawia – jak sformatować to, co wypluwa ‚group-object’? w dużym skrócie – należy się przyjrzeć temu, co ten zwraca, i potraktować go… jak każdy inny obiekt. przyjmując, że wyniki poprzedniego polecenia mam w zmiennej ‚$admins’, przyjrzyjmy się co będzie po zgrupowaniu:

a więc ‚grupa’, trzyma dla każdego wpisu, wszystkie informacje o zgrupowanych obiektach (jako kolekcja obiektów) – ze względu na to zagnieżdżenie, nie jest to zbyt proste do pracy. do tego trzeba będzie pracować na kolekcji – bo jeśli ktoś występuje w kilq rolach, to mamy liczbę mnogą. finalnie odpowiedź jest taka:

można teraz całość wypluć do CSV [ |export-csv c:\temp\admins.csv -nti -deli ‚;’ ] i zrobić raport w Excelu (:

eN.

do którego AP podłączyliśmy się w roamingu?

podczas debugowania problemów z siecią warto wiedzieć do którego AP się jest podłączonym. jak jest wiele AP ustawionych w roaming, ciężko stwierdzić. a można to sprawdzić starym, dobrym netsh:

i tak przy okazji jeszcze jedna przydatna komenda z tego zakresu, która wyświetli wszystkie dostępne AP w okolicy wraz z siłą sygnału i tym, co oferują:

eN.

najbliższy wtorek – WGUISW

o8.o1.2o19 – czyli tradycyjnie wtorek w biurze Microsoft. będą dwie sesje dotyczące Office365 oraz sesja o w19.

pierwsza sesja to kontynuacja cyklu Marka będąca wprowadzeniem do o365 a druga, to moja obiecana sesja o grupach o365 – pierwsza część. Grupy to jeden z najważniejszych komponentów całego o365, więc warto rozumieć w jaki sposób całość działa. druga część w Marcu [w lutym Ferie (= ]

sesja o Windows 2o19 to z kolei kontynuacja cyklu Mariusza.

zapraszamy (:

eN.

zaokrąglanie liczb (PowerShell)

liczby można zaokrąglić/sformatować na kilka sposobów.

można np. ‚rzutować typ’ [casting] przez co liczba zostanie odpowiednio sformatowana. np. interesuje nas liczba całkowita z działania:

można też bawić się formatowaniem ciągu znaków [string] co jest zwłaszcza przydatne jeśli potrzebujemy dopełnienia – np. dopełnienie z przodu do trzech cyfr – 001, 010, 100:

zaokrąglenie liczby do konkretnej ilości po przecinq – albo jak wyżej, poprzez konwersję string…

…albo przez funkcje matematyczne. te dają trochę większą kontrolę.

przy obu działaniach trzeba mieć pewność na jakim typie danych się operuje, więc można je stosować zależnie.

…a cały wpis zainspirowany był poszukaniem sensownej metody na wyciągnięcie części całkowitej ułamka, ale nie zaokrąglaniu. wszystkie testowane funkcje – czy round, czy cast czy format string – zaokrąglają automatycznie. czyli 0,6 = 1. a ja potrzebuję zera z przodu. i tutaj klasa matematyczna sprawdza się najlepiej [podłoga z dołu i sufit z góry (; ]:

eN.

 

 

 

 

SkypeOnlinePowershell wywala się błędem o braku VC++ redistributable

exploruję tamat BOTów (super sprawa pod kontem obniżenia kosztów HelpDesk!) i aby zarejestrować BOTa w SfB dla tenanta trzeba zainstalować bohatera tytułowego – Skype for Business Online Connector. pomimo spełnienia wszystkich warunków (prerequisites), instalator wywala się z informacją, że brakuje VS C++ Redistributable. trochę się z tym pomęczyłem, nic nie udało mi się znaleźć na forach, więc trzeba grzebnąć samemu.

główny log nic powiedział, ale w logu *_TenantPowerShell.msi.txt jest coś takiego:

no to już blisko rozwiązania… bo wskazana ścieżka nie istnieje. znalazłem wpisy od innych paczek VS redist i na tej podstawie zrobiłem nowy plik reg do obecnej wersji:

instalator łyknął. gra i buczy (:

eN.

 

 

ShareCon365 już niedługo!

Już niedługo, 23 listopada, odbędzie się konferencja ShareCon365. ShareCon365 – zgodnie z nazwą – zapoczątkował swoją przygodę jako grupa społeczności SharePoint, jednak szybko okazało się, że trzeba objąć cały Office365. 

to, co odróżnia tą konferencję to m.in. fakt, iż będą 3 ścieżki: Biznesowa, ITPro … oraz to, iż większość sesji będzie w języq angielskim – ze względu na gości z poza Polski, zarówno w roli słuchaczy jak i prelegentów (Steve Dalby, Sergei Sergeev).

w tym roq 5ta edycja konferencji SC365, na której będę miał zaszczyt również prezentować. temat prezentacji to: Ultimate guide to Office365 Groups. (sesję powtórzę w języq polskim na styczniowym WGUiSW)

pełna agenda

spotykamy się, jak zwykle – w biurze Microsoft (:

ZAPRASZAM

eN.

konwersja XLSX do CSV metodą przeciągnij i upuść

drag’n’drop wygląda jakoś bardziej naturalnie… ale co tam. niech będzie po polsq (;

taka sytuacja…

spora część mojej pracy to zbieranie i analiza danych z systemów – AD, AAD, Ex, EXO, SfB i tak dalej. piszę sobie do tego pałerszelki i wrzucam to do CSV. no niestety – ale cały czas nie mogę się przestawić na jakąś sensowną bazę danych, ale to nie na dziś. potem takie CSVki łatwo jest otworzyć, edytować, analizować w Excel – oczywiście już jako xlsx. wszyscy Excel znają (LoL, raczej potrafią go otworzyć i coś wpisać, bo niestety poziom obsługi podstawowych narzędzi jest niestety, na równie podstawowym poziomie), dzięki o365 mamy wspaniałe funkcje koedycji – a więc w prosty sposób cały zespół może pracować na pojedynczym źródle.

żeby odświeżyć dane w excel, znów muszę wyeksportować go do CSV. czyli:

  • otworzyć arkusz
  • zrobić export (kilka kliknięć, wybór formatu, nie pomylić się, bo jest kilka formatów CSV itd…)
  • zamknąć.

nie lubię klikać, a więc fajnie byłoby mieć ikonkę na pulpicie, przeciągam plik XLS i voila! CSVka sobie czeka w ustalonym miejscu.

taki przydługi wstęp, ale taki dzień. jak to zrobić?

automatyczna konwersja XLSX2CSV via drag’n’drop

  1. trzeba sobie machnąć prosty skrypcik PS, który konwersji dokona. np taki:

convert-XLSX2CSV.ps1

nic skomplikowanego. jeśli ma być auto trzeba pamiętać, że ścieżki muszą być zahardcodowane, a parametry wejścia najlepiej ograniczyć do nazwy pliq.

2. zrobić skrót na pulpicie, który przyjmie plik drag’n’drop. jeśli zrobimy skrót do ps1 – nie zadziała. skrót musi być do pliq exe. a więc proste:

  • utwórz nowy skrót
  • jako plik do uruchomienia:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noprofile -file C:\_scriptZ\convert-xlsx2csv.ps1

…no i w zasadzie tyle. teraz wystarczy upuścić plik Excel na skrócie i życie jest dłuższe o kilka ładnych kliqw (=

bezpośrednia edycja XLSX

a nie można by tak bezpośrednio na excelu pracować? ano możnaby. nawet na serwerze. jest taka fajna biblioteka, która pozwala zaimportować się bez instalacji samego excel. nawet kiedyś o tym pisałem. ale obsługa tego skryptem, jest mówiąc oględnie – mało przyjemna. praca na zwykłych obiektach to czysta przyjemność.

eN.

 

%d bloggers like this: