Skip to Content

IT nieuczesane.
author

Author: nExoR

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.

 

dsregcmd switches – undocumented

nieudokumentowane przełączniki dsregcmd.exe

nie wiem czemu to polecenie nie ma żadnej wbudowanej pomocy, nie ma też oficjalnej strony. a więc trzeba było trochę się grzebnąć w exe i sprawdzić. kilka rzeczy które udało mi się wyciągnąć:

lista przełączników dla deregcmd.exe :

/Debug
/Pause
/Leave
/Status
/Trigger
/CheckRecovery
/ForceRecovery
/RollbackRecovery

z tego co udało mi się ustalić to:

  • status: to jedyny, który pojawia się oficjalnie w wielu artyqłach. pokazuje status dla komputera i użytkownika – AD, AAD, WorplaceJoin
  • debug:  polecenie powinno działać w kontekście systemu. czyli np: ‚psexec -s -i cmd.exe‚ i z tąd odpalić dsregcmd /debug – dostaniemy informacje o precheck, statnie kluczy szyfrujących niezbędnych do operacji itd. może się przydać jeśli maszyna upiera się i nie chce się zarejestrować w AAD. można też debugować od strony samego AAD – ale pod warunkiem, że operacja została już zainicjowana. być może np. komputer nie ma połączenia z DC i w ogóle nie próbuje się podłączyć – wtedy tylko tak można spróbować sprawdzić czemu.
    co prawda niektóre artykuły wskazują polecenie dsregcmd /debug /join [przykładowy link do artu na dole] ale przełącznika join nie znalazłem w samym pliq exe. z moich testów wynika że ‚dsregcmd /debug’ pozwala na użycie wraz z którymś ze wskazanych tu przełączników, i działa to dokładnie jak tryb verbose.
  • leave: oczywiście wywalenie z AAD
  • trigger: wymuszenie rozpoczęcia próby rejestracji
  • pause: przed wykonaniem operacji będzie czekał… na enter. chwila zawieszki, bo komunikat brzmi ‚press any key’ ale dopiero enter pozwala kontynuować

do dokładnie robią flagi recovery… w sensie co jest odzyskiwane – nie jest jasne. po wykonaniu ‚dsregcmd /debug /CheckRecovery’ output standardowo jest taki:

po wykonaniu ‚dsregcmd /debug /ForceRecovery’ zostałem poproszony o zalogowanie się na swoje konto. na koniec informacja ‚możesz teraz używać tego komputera’ – ale nie widzę żadnych dodatkowych informacji w AAD, ani jakiegoś przypisania do konta.

scenariusz

na koniec krótkie ‚a po co mi to?’. aby w pełni wykorzystać możliwości zabezpieczania i sterowania stacjami z InTune, urządzenie musi być zarejestrowane w AAD. w przypadq maszyn domenowych mówi się o ‚hybrid join‚ bo są równocześnie dodane do AD i AAD. całą operacją steruje się prostym ustawieniem w GPO, więc teoretycznie pełny automat. dodam, że dla Windows 1o. dla Windows 7 jest dodatek ‚workplace join‚ ale ten ma normalną pomoc /? więc jest przyjaźniejszy w użyciu.

kiedy teoria nie działa w praktyce – wtedy warto przypomnieć sobie ten wpis.

refs

link do artów na temat procesu rejestracji urządzeń:

eN.

Group Based Licensing dla o365

GBL

możliwość zarządzania licencjami przez grupy AD to nieoceniona pomoc w każdym większym środowisq. co prawda spędziłem kilka ładnych godzin nad fajnym skryptem, którym można masowo zarządzać licencjami wraz z poszczególnymi planami serwisowymi, jednak możliwość ułatwienia administracji jest bezcenna. trzeba zatem było z łezką w oq wrzucić skrypt do projektów wymarłych i zająć się okiełznaniem grup.

ogólnie, GBL pozwala na przypisanie licencji (niemal) dowolnej grupie AAD, dzięki czemu zarządzanie licencjami sprowadza się do prostych operacji zmiany członkostwa. pomimo, że funkcjonalność jest jeszcze w public preview, uważam, że warto się mocno zainteresować, bo operacje licencyjne przeważnie są realizowane albo przez 1szą linię, gdzie korzystanie ze skryptów nie koniecznie jest mile widziane, albo przez automatyczne systemy zarządzania tożsamością, jako część procesu nowego użytkownika.

ponieważ jest to świetnie udokumentowane, nie będę się rozpisywał o podstawach, ale przedstawić ciekawe przypadki i problemy.

[info: art opisuje środowisko hybrydowe]

gdzie jest haczyk?

pierwszy i podstawowy haczyk, pojawia się już na poziomie projektowania grup. rzadko kiedy zdarza się, żeby wykorzystywany był pojedynczy typ licencji, czy nawet dwa-trzy. zazwyczaj jest wiele różnych wyjątków, wynikających z różnorodności zapotrzebowania – niektórzy będą mieli E3, inni E5, jeszcze inni będą potrzebować pojedynczych planów (np. PowerBI, AudioConferencing) jako uzupełnienie niższej licencji. są też dodatkowe produkty takie jak Visio czy Project, które też raczej wszystkim użytkownikom się nie qpuje.

okazuje się, że ilość wyjątków może być całkiem spora, warto zastanowić się więc nad modelem hybrydowym – np. używać grup do zaspokojenia przyjętych standardów, co zrealizuje 9o%, i to tych, przy których normalnie trzeba użyć jakiegoś skryptu. wyjątki natomiast obsłużyć ręcznie ‚wykliqjąc’. jednolite rozwiązania są dużo łatwiejsze w zarządzaniu, i ogólnie jestem przeciwnikiem mieszania metod zarządzania tym samym fragmentem jednak w tym przypadq:

  • funkcja jest nadal w preview. public, bo public, i testowana jest już ok ok. 2 lat, jednak nie ma gwarancji co się zmieni w finalnej wersji. zakładam że nic, w porywach do niewiele, ale trzeba mieć z tyłu głowy ew. poprawki co całego projektu, lepiej więc go póki co nie komplikować
  • braqje na razie dobrych artyqłów z praktyki [co staram się załatać (: ], który pokazywały by realne bolączki i ryzyka.

mechanizm trzeba najpierw dobrze poznać i zrozumieć niuanse i konflikty, zanim wdroży się go globalnie. a więc pomimo, że docelowo najlepiej mieć czyste zarządzanie GBL, sugeruję zacząć od podejścia ewolucyjnego. dać sobie trochę czasu na nauczenie się zachowania mechanizmu i rozwiązywania problemów… o których może uda mi się kiedyś napisać.

double-trouble

z technicznego punktu widzenia, największym problemem są plany powiązane. niektóre plany są od siebie zależne i nie uda się przypisać jednego-bez-drugiego. przykłady:

  • plan ‚Office Online’ wymaga planu ‚SharePoint’
  • plan ‚AudioConferencing’ wymaga planu ‚Skype/Teams’

zależnie od implementacji, albo osoby nie będą miały oczekiwanej licencji, bo nie spełniają kryterium, albo w ogóle nie uda się utworzyć grupy licencyjnej. przykładowy scenariusz:

  • osoby posiadają licencje o365 E3 ale potrzebują tworzyć spotkania z opcją call-in. czyli trzeb im dodać plan ‚Audio Conferencing’.

nie da się utworzyć grupy licencyjnej zawierającej wyłącznie ten plan, ponieważ nie ma gwarancji spełnienia warunq posiadania Skype/Teams. obejściem jest dodanie do grupy zarówno planu AC oraz Skype z licencji E3, trzeba się oczywiście upewnić, że nie więcej scenariuszy w firmie – np. trzeba będzie założyć grupę AC wraz z Skype E1 – co bardzo skompliqje zarządzanie.

trouble-double

…czyli to samo ale odwrotnie. usuwamy osoby z grupy licencyjnej, ba! usuwany całą grupę licencyjną. grupy w AD nie ma, wchodzimy do AAD… i grupa nadal jest, zawiera wszystkich członków, licencje nadal są przypisane, nie ma błędów synchronizacji… to czemu u licha grupa została??

otóż może tak się zdarzyć, że usuwamy grupę zawierająca licencję ‚nadrzędną’ a gdzieś, wedle algorytmu, może zostać podrzędna. czyli np. usuwamy licencje zawierająca SharePoint, a są  grupie osoby które maja Office Online. AAD stwierdza, że to doprowadzi do konfliktu, więc bloqje całą operację.

jeśli usuwamy grupę licencyjna – zalecam zacząć od usunięcia wszystkich członków, synchronizacji, a potem dopiero usunięcie grupy.

konflikty licencyjne

przy złożonej strukturze grup mogą wystąpić konflikty licencji. taka sytuacja zdarza się w momencie, kiedy wedle grup użytkownik będzie miał przypisane plany z różnych grup. nie zapisałem niestety przykładowych przypadqw, ale miałem okazję oglądać sytuację, w której licencja nie została przypisana, ponieważ pomieszane były poziomy planów z różnych licencji – czyli jakiś plan z licencji E3 kolidować z innym planem, z E1.

podczas projektowania grup GBL lepiej przypisywać możliwie pełne licencje – zbytnie kombinowanie na poziomie planów szybko doprowadzi do scenariuszy konfliktowych.

podsumowanie

mechanizm GBL oceniam rewelacyjnie. AAD świetnie pokazuje komunikaty błędów, pomaga w debugowaniu i ogólnie całość jest bardzo fajnie przemyślana. nie jest jednak pozbawiony limitów, i nie zawsze będzie się nadawał. należy zapoznać się z niuansami działania, przemyśleć scenariusze użycia licencji w firmie i sprawdzić czy nie ma przypadqw na tyle skomplikowanych, że nie opłaca się go używać. stworzenie zbyt dużej ilości grup, dających możliwości granularnego zarządzania planami może albo posqtkować niezłym misz-maszem i wcale nie ułatwić życia, albo w specyficznych przypadkach być niemożliwe.

podsumowując ‚KEEP IT SIMPLE’. znalezienie środka może być wyzwaniem jeśli scenariuszy licencyjnych jest wiele.

eN.

aplikacje o365 w licencji Business Premium

tak się jakoś składa, ze względu na klientów z którymi współpracuję, że nabywane są licencje Enterprise – czy to E3 czy E5. do tej pory żyłem w przekonaniu, że to najbardziej wypasione licencje, więc jest w nich już wszystko.

na wczorajszym WGUiSW zobaczyłem podczas prezentacji Marka o Office365 aplikację ‚bookings’, która mnie mocno zaskoczyła, ponieważ sądziłem, że znam wszystkie. po krótkim śledztwie okazuje się, że licencja Business Premium zawiera pakiet aplikacji dla SMB, w którym są:

Niedostępność aplikacji w planach Enterprise Microsoft tłumaczy faktem, iż ich architektura nie jest w tej chwili wystarczająco skalowalna. niestety na roadmapie nie widzę, aby apki miały się pojawić się w tych planach.

po co w Enterprise aplikacje SMB? dla zaspokojenia małych, lokalnych projektów. często niezależne grupy projektowe potrzebują tanich narzędzi. np. firma korzysta z SalesForce jako CRM ale pewien dział potrzebuje wewnętrznie zarządzać swoimi klientami. a więc czasem warto pomieszać planami…

eN

ITechDay – ostatnia pula wejściówek

koniec sezonu ogórkowego, a to oznacza, kolejną porcję wiedzy w postaci spotkań WGUiSW ( pierwsze już za tydzień ) oraz konferencja ITD (18.o9). nie będę się rozpisywał o agendzie czy sponsorach – to już było, poza tym znajdziecie na stronie. ale:

w środę, 29.o8, o godzinie 12:oo, zostanie uruchomiona ostatnia pula wejściówek. konferencja jest oczywiście bezpłatna. a więc jeśli jeszcze nie udało Ci się otrzymać wejściówki, wejdź na http://www.itechday.pl i wybierz z menu ‚rejestracja’. pośpiech wskazany, bo wejściówki zazwyczaj rozchodzą się w parę minut (:

eN.