Skip to Content

IT nieuczesane.

ITechDays – rejestracja i agenda

od wczoraj można się już zapisywać na konferencję ITechDays 2o17. Dostępna jest już pełna agenda.

spóźniony news… ale ostatnio z pustą taczką latam (;

eN.

ITechDays [1-2].o6.2o17

konferencje ITechDay cieszyły się bardzo dużym zainteresowaniem – ostatnio 12o miejscówek rozeszło się w… 8o sec! [SIC!]. w związq z taką popularnością, organizatorzy ITD musieli pomyśleć o tych pozostałych i tak, z jednodniowego ITD odbędą się dwudniowe ITDs (: co więcej, aby nie ograniczać chętnym wstępu, konferencja odbędzie się w bardziej przestronnym miejscu…. w największym centrum konferencyjno-kongresowym w Europie Środkowej – PTAK Warsaw Expo. na szczegółową agendę trzeba jeszcze poczekać, ale już wiadomo, iż konferencja odbędzie się 1-2 czerwca, oraz znani są prelegenci.

tym razem w-files nie tylko patronuje medialnie, ale również jest w składzie prelegentów (:

eN.

compare uncomparable

*UPDATED

bardzo często korzystam z ‚compare-object’ ale ma niestety jedną bardzo, bardzo poważną skazę. pomimo swojej nazwy, wcale nie potrafi porównywać obiektów, a raczej wykrywać różne obiekty w tablicy. oto przykład:

$t1 i $t2 są takimi samymi obiektami, różnią się niektórymi wartościami atrybutów – np. Paged Memory [PM(K)]. compare różnicy nie widzi. oczywiście można porównać konkretne atrybuty [properties]:

ale kiedy poda się kilka parametrów, to compare-object traktuje je jako logiczny OR –
„czy którykolwiek z nich się różni?”:

moje odczucie jest takie, że compare-object został napisany z myślą o tabelach, gdzie dla kolejnych wierszy pokazuje różnice w kolumnach. w przypadq obiektów jest odwrotnie – każdy wiersz jest unikalny i ma wartość. więc albo trzeba byłoby skonwertować to do tablicy i dokonać transpozycji, albo obejść się bez compare-object /: jak się okazuje nawet PowerShell ma wady i nie jest idealny. ten przypadek jest szczególnie bolesny i niezrozumiały, zarówno ze względu na obiektowość PS, jak i zwodniczą nazwę.

jeden ze scenariuszy: szukałem różnic w wartości obiektów po migracji między usługami, żeby wykryć, gdzie była zmiana. dla ułatwienia zrobiłem sobie zrzut obiektu do CSV [ale to nie ma znaczenia]. efekt był dokładnie taki jak opisywany powyżej, czyli nie pokazywał mi różnic. i trzeba było sobie to ręcznie oprogramować:

PS szybko rozleniwia /:

/UPDATE

okazuje się, że Tatuśkowi też zabrakło takiej funkcjonalności więc napisał piękną funkcję do jej obsługi: Compare-ObjectProperty.

dzięki Kacper za linka (:

eN.

 

 

 

URI PowerShell dla Skype Online

PowerShell zarówno dla Exchange jak Skype Online dostępny jest poprzez stworzenie sesji WinRM i zaimportowanie zdalnych komend. prosta komenda połączenia do SkypeOL to po prostu:

…ale ja jakoś od zawsze trafiam w nietypowe przypadki [środowiska] i połączyć się nie mogłem, ponieważ DNS nie wskazuje jeszcze na środowisko, do którego się chcę połączyć. po przeczesaniu internetów wszędzie trafiałem na ‚pomoc’ aby dopisać parametr -OverrideAdminDomain “my.domain.365” . bezwartościowa, ponieważ tak jak pisałem, DNS nie jest jeszcze skonfigurowany. ale jest jeszcze jeden parametr, tym razem bardziej pomocny: -OverridePowershellUri . tylko to URI trzeba znać.

trzeba odpalić przeglądarkę na jakimś komputerze z DNS ustawionym na zewnątrz i wpisać: https://sched.lync.com . po uwierzytelnieniu zostaniemy przekierowani na URI dla naszego tenanta np: „https://webdir1f.online.lync.com/Scheduler/?AuthCookieName=RtcAuth” . dla PS będzie to: „https://webdir1f.online.lync.com/OcsPowershellLiveId”.

trochę wchodzenie przez komin, ale czasem trzeba pokombinować (; jak ktoś zna prostszy sposób to się proszę pochwalić.

eN.

unikaty i duplikaty

Duplikaty

łatwo jest przefiltrować listę tak, aby mieć tylko unikalne elementy – jest zarówno commandlet ‚get-unique’ oraz parametr ‚-unique’ przy select-object, ale jak wyłuskać duplikaty?

sposobów jest oczywiście wiele a ten, który mi się podoba to:

lub w hiperpoprawnym zapisie:

plik:

a teraz sprawdźmy duplikaty:

można jeszcze upiększyć output, pozbywając się śmieci:

Unikaty

powracając jeszcze do unikatów… wydawałoby się, że skoro jest oddzielne polecenie – get-unique, to powinno mieć większe możliwości i być bardziej elastyczne niż jakiś tam parametr do innego polecenia.

o dziwo jest odwrotnie. osobiście traktuję get-unique jako ciekawostkę i nie miałem scenariusza, w którym bym go użył. a to dla tego iż [msdn]:

The Get-Unique cmdlet compares each item in a sorted list to the next item, eliminates duplicates, and returns only one instance of each item. The list must be sorted for the cmdlet to work properly.

Get-Unique is case-sensitive. As a result, strings that differ only in character casing are considered to be unique.

eN.

Działanie polityki haseł GPO

na ostatnim WGUiSW prezentowałem krótkiego snacka dotyczącego polis haseł GPO. q mojemu zaskoczeniu nagrania znalazły się na channel9, znalazło się i moje (:

eN.

Skype for Business bez DNS

trafiłem na ciekawy ‚ficzer’ SfB, który jest bardzo przydatny podczas labów, ale może się przydać również podczas debugowania problemów.

Jak wiadomo, klient Skype for Business korzysta z odpowiednich rekordów DNS w celu zlokalizowania serwera, do którego ma się połączyć. jest fajny art, który pokazuje na diagramie sposób odpytywania.  nigdzie jednak nie znalazłem informacji, że w celu optymalizacji połączenia, tworzony jest plik cache: $env:USERPROFILE\AppData\Local\Microsoft\Office\16.0\Lync\<userSIP>\EndpointConfiguration.cache .

nie znalazłem scenariusza, w którym ten plik jest usuwany i ponawiane jest odpytywanie DNS. to ma ciekawe konsekwencje. klient łączy się bez DNSów! nie musiałem nawet odpalać network monitora – ustawiłem na lokalnej sieciówce DNS na 127.0.0.1 i odpaliłem SfB. działa (:

może to mieć pozytywne i negatywne efekty. negatywny może być wtedy, kiedy używa się lokalnego serwera SfB i dokona się zmiany adresów. nie wiem jak się zachowa, bo nie testowałem – zakładam, że ktoś to przemyślał, i jeśli nie może znaleźć wpisu z cache, sfailuje na zapytania DNS. ja natomiast, w nietypowym środowisq, przetrzymując dwa pliki cache, nadgrywam go zależnie od tego, co chcę testować i voila! mogę bez DNS łączyć się do odpowiedniego serwera, pomimo braq wpisów w DNS.

eN.

krótkie URLe…

…zniknęły.

nie wczoraj, a pół roq temu, ale może komuś umknęło to tak, jak mi. chodzi o skrócone adresy URL, które dostępne były w różnych serwisach typu OneDrive czy Google Maps. z jednej strony co za różnica czy adres jest skrócony, przecież i tak się go nie uczymy na pamięć, tylko wysyłamy mailem czy innym medium, z drugiej strony miało to ciekawy efekt psychologiczny – taki krótki adres nie straszy. kiedy widzi się długi ciąg znaków w adresie, który mamy kliknąć to budzi niepoqj, w przeciwieństwie do krótkiego, zwięzłego. no i mimo wszystko, rzadko-bo-rzadko, ale czasem taki adres trzeba przedyktować przez telefon. dziwne przypadki się zdarzają.

zastanawiałem się, czemu serwisy Google czy MS wycofały tą usługę i okazuje się, że chodzi o bezpieczeństwo. jeśli udostępnialiście kiedyś pliki lub lokalizacje z usługi chmurowej, to wiecie, że całe bezpieczeństwo opiera się w właśnie na linq – w nim zawarty jest token, upoważniający do edycji lub odczytu pliq. to samo w sobie nie jest jeszcze tragedią, bo wysyłając link mailem musimy pamiętać, że może kiedyś trafić ‚gdziekolwiek’ i doqment/lokalizacja będzie mógł być pobrany lub edytowany przez przypadkową osobę. większym problemem był fakt, że token w zawartym linq, oraz uporządkowana struktura serwisu pozwala na dostęp do innych danych.

całość, wraz z raportem na podstawie odkodowanych linqw można znaleźć w tym artyqle a dla leniwych, skrócona wersja przykładowych scenariuszy ataq:

  • dla OneDrive, znalezienie katalogu z zapisem, umożliwia łatwe wstrzyknięcie wirusa/malware na komputery użytkownika, ponieważ usługa ta daje możliwość synchronizacji katalogu, która jest powszechnie wykorzystywana. statystyki z badania pokazały, że aż 7% katalogów dawało możliwość zapisu [SIC!]
  • dla GMaps, wykrycie zapisanych przez użytkownika miejsc, daje możliwość bardzo dokładnego profilowania – w skrócie dostęp do informacji kim jesteśmy, gdzie bywamy, a nawet z kim się spotykamy – co daje podstawy do bardzo dobrze sprofilowanego ataku – czy to elektronicznego, czy IRL.

to w sumie oczywiste, ale przypomina, jak olbrzymia odpowiedzialność spoczywa na dostawcach usług globalnych. taki mały niuansik – ot, skrócony link…

w epoce ‚chmury’ i wszechobecnego ułatwiania sobie życia, czasem zapominamy jak niebezpieczne jest udostępnianie danych. nie jestem zwolennikiem paranoidalnego odcinania się od usług… bo są wygodne. i dużo traci się na blokowaniu wszelkich ciasteczek, korzystania z map, backupu zdjęć czy trzymania doqmentów w chmurze. poszukiwanie niszowych rozwiązań, które są rzadziej kierunkiem ataq ze względu na mniejszą popularność, może być jakimś rozwiązaniem. ale traci się wtedy na integracji – decydując się na usługi jednego dostawcy, mamy tzw. ‚suite’ czyli cały pakiet usług, pomiędzy którymi łatwo wymienia się dane, co daje olbrzymią elastyczność i wygodę.

wybór należy do Ciebie – byle świadomy!

eN.

jak interpretować informacje

…długo czekałem na taki materiał. dla dzieci, dla siebie, dla znajomych. cytując twórcę:

‚ważniejsza, niż posiadanie informacji w głowie, staje się dzisiaj umiejętność jej weryfikacji’

eN.

tajemniczy Skype

zakładam, że historii Skype specjalnie nie trzeba przedstawiać. najważniejszy [do celów tego wpisu] jest fakt, że został qpiony w maju 2o1o przez Microsoft, a od lat MS rozwijał własny produkt – wtedy jeszcze nazywany Office Communication Server. pomimo, że oba produkty są [m.in.] klientami VoIP, ich architektura działania jest totalnie inna…

… no właśnie – jest, czy też może ‚była’? po zaqpie Skype długo wydawało się, że nic się nie dzieje. powiedziałbym, że ‚bardzo długo’, albo wręcz ‚za długo’. wynika to z totalnie różnych założeń obu systemów – OCS/Lync to produkty zorientowane na centralne zarządzanie, wykorzystanie w Enterprise, możliwość archiwizacji, wymuszenia zgodności z polityką firmy i prawem, własnością intelektualną itd. Skype przeciwnie – był aplikacją zorientowaną na rozproszenie, w architekturze hybrid P2P, z nastawieniem na zachowanie prywatności. no i jest protokołem w pełni zamkniętym. co prawda próbowano zrobić reverse engineering i można znaleźć jakieś tam opisy działania, ale to bardziej na poziomie ogólnym.

w tym samym czasie nastąpił boom na rozwiązania chmurowe, OCS zmienił się najpierw w Lync 2013, potem zforkował się w Skype for Business 2o15 oraz Skype for Business Online z office365.  zmiana nazwy nie była przypadkowa. Lync przesunął się w kierunq Skype, a Skype w kierunq Lync. co to oznacza?

najciekawsze jest owo ‚przesunięcie Skype’. co prawda nadal nie ma opisu architektury rozwiązania, ale pewne rzeczy widać, i można pobawić się w dodawanie:

  • lista kontaktów jest już zintegrowana z outlook.com . nawet jeśli ktoś nie założył wprost konta ‚outlook.com’ czy ‚hotmail.com’ i loguje się użytkownikiem z innej domeny, to tak jest. ja np. loguję się loginem @gmail.com, żeby odebrać maila wysłanego na @outlook.com (;
  • Skype przeszedł na protokół MSNP24 na początq 2o14
  • pojawiło się sporo dodatkowych opcji, które nie były możliwe do zaimplementowania przy architekturze hybrid P2P..

polecam bardzo fajny artykuł, wyjaśniający zmiany, jakie zaszły 2o15-2o16 z tym produktem. najciekawsze cytaty:

“The original genius of Skype is that it was a peer-to-peer solution, which made sense in the early days of broadband, when everyone used a PC,” Microsoft vice president Gurdeep Pall told me recently. “But over the past 10 years, things have changed, and we now use multiple devices, where syncing state from device to device becomes challenging.”

“A couple of years ago, we started on a massive engineering project to transition Skype to a cloud-based solution,” Pall told me. “And much of what you’ve seen as new features in Skype, especially over the past year, has been connected to this new architecture.” This includes such things as audio and video chat, file sharing, photos and file sharing, offline access, Skype translator, bots, and more, he said.

…no i git. wszyscy szczęśliwi… [?]

bo jak się tak zastanowić, to co to oznacza dla wstępnych założeń funkcjonowania Skype? nie jest to już klient P2P, tylko prawie-Skype-for-Business. z centralnym zarządzaniem kontami, polisami… [archiwizacją i monitoringiem?]

nie żebym miał z tym jakiś problem. w sumie to przewidziałem to zaraz po pojawieniu się office365 q: niemniej pozostaje ciekawostką wartą zastanowienia zwłaszcza, jeśli ktoś kierował się korzystaniem ze Skype ze względu na zalety P2P lub ma po prostu dylematy związane z tym ‚gdzie są moje dane i kto może je oglądać’. tym bardziej, że o ile architektura Skype for Business 2o15 jest dostępna i można dokładnie się przyjrzeć co i jak i jakie są schematy komunikacji, o tyle Skype nadal pozostaje owiany mgiełką mistycyzmu. poza kwestiami prywatności dochodzą problemy z wyznaczeniem wymagań sieciowych – bo nie ma oficjalnych informacji o schematach komunikacji takich, jak są dla linii biznesowej. można się tylko domyślać, że nawet jeśli nie dziś, to za chwilę, jedyną różnicą pomiędzy oboma produktami będzie ‚otoczka integracyjna’, może jakieś dodatki korporacyjne jak możliwość integracji z własnym PBX. bo czemu niby nie miałbym widzieć ‚presence’ w OneDrive [zarówno prywatnym czy biznesowym], dla doqmentu opublikowanego przez inną osobę prywatną? w końcu Skype for Web jest już inkorporowany w outlook.com i jest coraz większa integracja pomiędzy Skype a SfB…

eN.