Welcome to TechNet Blogs Sign in | Join | Help

Zdarza się czasem, że jakiś serwis internetowy przeżywa oblężenie. Powody są różne, ale zazwyczaj oblężenie takie jest szczególnie dotkliwe, jeżeli publicznie ogłosi się coś w stylu "startujemy o 12:00, kto pierwszy ten lepszy".

Prawie dwa lata temu (starzy admini pamiętają te czasy) organizowałem konkurs na temat Windows Server 2008. Wtedy jednym z moich najważniejszych priorytetów było takie zaprojektowanie wszystkiego, żeby równoczesne działanie prawie siedmiu tysięcy użytkowników nie "zabiło" serwera. Było to o tyle istotne, że serwerem był zwykły komputer PC wyposażony w prosty dysk SATA, jeden procesor i stosunkowo niedużą ilość pamięci.

Takie priorytety wzięły się stąd, że moje doświadczenia pokazują (niestety), że nawet najlepszy serwis, najciekawszy konkurs, świetnie zrobiony portal dostanie od użytkowników ocenę niedostateczną, jeżeli tylko pojawią się zauważalne problemy z wydajnością. Poza tym, problemy takie mają tą niemiłą cechę, że zmuszają użytkowników do nerwowego klikania, otwierania w kilku oknach, z dwóch przeglądarek i najlepiej jeszcze z drugiego komputera. W efekcie, mający problemy z wydajnością serwis zostaje w praktyce zabity.

Choć w moim konkursie można było conieco wygrać, to nie był on związany z finansami i płatnościami online. W przypadku serwisu z płatnościami, frustracja użytkowników rośnie jeszcze bardziej, ponieważ nikt do końca nie jest pewny czy, ile i za co tak naprawdę zapłacił.

Po tym przydługim wstępie mogę powoli przejść do meritum.

Otóż 7.11 o 10:00 czasu Vancouver miała się rozpocząć sprzedaż biletów na Zimowe Igrzyska Olimpijskie 2010. Ponieważ dokładnie w tym samym czasie, w Redmond (czyli tuż obok, po drugiej stronie granicy) jest spotkanie MVP z całego świata – pomyślałem sobie, że może by tak choć raz zobaczyć na przykład olimpijski mecz hokeja na żywo zamiast w telewizorze...

Niestety organizatorzy ogłaszając sprzedaż, pomyśleli prawdopodobnie, że na pewno chętnych nie będzie. Okazało się, że jacyś jednak się znaleźli i cały serwis po prostu przestał działać. Po kilkudziesięciu minutach pojawiło się lakoniczne wyjaśnienie i cóż... czekamy.

image

Nie uważam, że jestem lepszy i mądrzejszy od obsługi informatycznej Igrzysk Olimpijskich, ale w obecnych czasach, na imprezie tej rangi, taka totalna wpadka, to po prostu wstyd. Istnieją dziesiątki sposobów zapobiegania takim sytuacjom i naprawdę nie jest trudno zastosować je przed godziną zero.

Autor: Grzegorz Tworek [MVP]

I jeszcze mała aktualizacja: po kilku godzinach zapraszania na później, pojawiło się oświadczenie oraz informacja, że za tydzień cała zabawa zacznie się od początku. Jako winny, wskazany został portal tickets.com, co jest o tyle ciekawe, że to jeden z największych na świecie serwisów specjalizujących się w sprzedaży biletów online.

Tytułowe pytanie jest nieco przewrotne. Zwłaszcza, że studenci również są czytelnikami tego bloga. Ale tak naprawdę chodzi o coś zupełnie innego – o konkurs.

Jeżeli chcesz się sprawdzić dzięki przykładowym pytaniom w konkursie dla studentów, to zajrzyj na stronę http://imaginecup.com/MyStuff/SampleITQuestion.aspx

Jeżeli do tego jesteś studentem – zapisz się koniecznie do udziału w konkursie.

Pytania są hmmm... no co najmniej nietrywialne i mimo, że jest ich tylko dziesięć, to bardzo szeroko sprawdzają wiedzę informatyczną. Jak znalazł jako inspiracja na rozmowy z kandydatami do pracy.

Autor: Grzegorz Tworek [MVP]

Dostałem właśnie wyniki i komentarze z mojej sesji na MTS 2009. W zeszłym roku wpadłem na pomysł, żeby do każdego komentarza się odnosić i wyjaśniać wątpliwości i zastrzeżenia. Pomysł został podchwycony i chyba się całkiem dobrze sprawdził.

W tym roku sam nie wiem... nie mam do czego się odnosić. Komentarze są takie, że jedyną moją odpowiedzią może być tylko "dziękuję!".

Nie będę tych komentarzy cytował, bo wystawiliście mi taką laurkę, że wyszedłbym na chwalipiętę.

Aż chce się robić dla was kolejne sesje.

I tylko jeszcze jedno, do znudzenia przeze mnie powtarzane... z 80 osób na sesji, oceniło ją 47. Z tego 12 pozostawiło komentarz. Ja wiem, że zwykle nie chce się pisać elaboratu o każdej sesji. Ale to dzięki waszym komentarzom mamy szansę na poprawienie się. Chcecie lepszych sesji – piszcie jasno co się podobało a co nie.

A na koniec gratulacje dla Tomka, Bartka i Pawła. Znam was jako prelegentów i nie wątpię, że oceny wyższe niż moja są w pełni zasłużone.

Autor: Grzegorz Tworek [MVP]

PS. Cieszę się, że drobne nagrody zostały zauważone w komentarzach. Jako MVP mam dostęp do sklepiku w Redmond i nagrody na sesje to jedno z najlepszych zastosowań dla dostępnych tam setek gadżetów.

Dzisiaj jest dobry dzień, żeby spojrzeć na zalety nowego systemu. Porównajcie ze starszym "rodzeństwem" Windows i oceńcie sami czy warto.

W7

Dowiedzieć się można między innymi, że:

  • System okienek został wprowadzony w Windows 95
  • Windows 98 był zalążkiem Windows XP
  • Windows Vista był niekompatybilny z urządzeniami a Windows 7 jest w pełni kompatybilny
  • Windows 7 ma większe wymagania sprzętowe niż Windows Vista
  • Wadą Windows 7 jest brak wbudowanego komunikatora

Lubię się dowiadywać nowych rzeczy... I lubię się nimi dzielić, co niniejszym czynię.

Autor: Grzegorz Tworek [MVP]

PS. Artykuł pochodzi ze stron dziennik.pl a trafił na niego Paweł Zdziarski, za co obu źródłom dziękuję.

PPS. Dla osób, które nie zrozumiały żartu: profilaktycznie nie wierzcie w ani jedno słowo. Gdyby taki artykuł ukazał się pierwszego kwietnia, uznałbym go za świetny dowcip. A tak - po prostu tkwię w zadumie nad poziomem wiedzy technicznej osób, które to coś popełniły...

Pliki ISO są użyteczne. Niezależnie od wielu scenariuszy związanych z kopiowaniem plików na płyty CD/DVD i "archiwizacją" płyt, pliki takie przydają się w jeszcze jednym miejscu: w środowiskach wirtualnych.

O ile wirtualna maszyna połączona jest przez sieć z innymi komputerami – dostarczenie na nią potrzebnych plików nie jest specjalnie trudnym wyzwaniem. Jeżeli jest to wirtualizacja "desktopowa" – zainstalowanie komponentów zapewniających integrację zazwyczaj pozwoli na transfer plików prosto na pulpit wirtualnej maszyny. A w przypadku, kiedy nie mamy takich możliwości? Wbrew pozorom, sytuacja taka nie jest wcale rzadka...

Pozostaje metoda niezawodna: potrzebne pliki przerobić na ISO i zamapować jako wirtualny CDROM.

Tyle, że wtedy pojawia się nowe pytanie: jak zrobić plik ISO?

Rada pierwsza: Kup oprogramowanie, które to potrafi. Rada druga: znajdź darmowe.

Obie rady są dobre, ale osobiście nie lubię programów, które robiąc jedną potrzebną rzecz (tworzenie plików ISO), równocześnie oferują mi setki innych funkcjonalności włącznie z biblioteką muzyki, odtwarzaniem filmów i edytorem etykiet. Ja chciałbym tylko zmienić folder w plik ISO po to, żeby przekazać dane do wirtualnej maszyny.

Oczywiście da się to zrobić prostymi narzędziami.

Moim ulubionym jest oscdimg.exe i przepis na jego użycie jest bardzo prosty:

  • Pobierz (bezpłatnie) pakiet WAIK ze stron Microsoft. Wiem, że jest duży, ale poza oscdimg jest w nim parę całkiem ciekawych narzędzi (na przykład imagex) i warto go mieć.
  • Zainstaluj lub rozpakuj i znajdź plik oscdimg.exe
  • Używaj! Sposób użycia opisany jest dokładnie na stronach TechNet.

Proste, szybkie, bezpłatne no i nie wyświetla zbędnych okienek. Po prostu działa.

Autor: Grzegorz Tworek [MVP]

PS. Dla mniej dociekliwych, najprostsza gotowa składnia zmieniająca folder c:\test w plik c:\test.iso – oscdimg.exe –h –u2 c:\test c:\test.iso

Po pierwsze – temat nie jest ściśle związany ze światem tak zwanych ITPro. Po drugie – jest już po imprezie. Ale i tak koniecznie należy parę słów napisać.

W ostatnią sobotę (17.10) w Krakowie odbyła się konferencja CodeCamp. Konferencja została zorganizowania przez Krakowską Grupę Deweloperów .NET, Koło Studentów Informatyki UJ i Grupę .NET na Politechnice Krakowskiej. Osobą, która personalnie odpowiedzialna była za sukces imprezy był Szymon Kobalczyk – jeden z polskich MVP.

Tematy były ciekawe, choć podejrzewam, że większości rzeczy nie zrozumiałem – jestem prostym ITPro, a konferencja przeznaczona była dla deweloperów. Warto wspomnieć natomiast o prelegentach. Szymonowi udało się zgromadzić w jednym miejscu i czasie naprawdę największe światowe gwiazdy. Na jeden dzień do Krakowa przyjechali

  • Richard Campbell
  • Carl Franklin
  • Stephen Forte
  • Remi Caron
  • Chris Sells
  • Oliver Sturm

Wydaje mi się, że nie przesadzę, pisząc, że to mniej więcej tak, jakby na spotkaniu ITPro pojawili się Mark Minasi, Andy Malone, John Craddock czy David Solomon. Dodam, że na spotkaniu społecznościowym, bezpłatnym i zorganizowanym wyłącznie dzięki zapałowi kilku osób.

Miałem przyjemność dostać zaproszenie od organizatorów, spotkałem wiele dawno niewidzianych osób i posłuchałem kilku ciekawych sesji.

Poza ogólnym wrażeniem z konferencji, sprowadzającym się do głównie do "WOW!", zdecydowanie chciałbym przekazać wam zachętę do czujności. Analogiczne imprezy powinny się powtarzać i warto trzymać rękę na pulsie, żeby "załapać się" jako uczestnik w kolejnej edycji. Równie wartościowy zestaw prelegentów i sesji, spotkać można chyba tylko na konferencji TechEd, gdzie ich posłuchanie kosztuje wiele tysięcy euro.

Autor: Grzegorz Tworek [MVP]

Mimo postępu technologii, hasła nadal są najczęściej spotykanym mechanizmem uwierzytelniania. Nawet zakładając, że mechanizm, który ich używa nie ma żadnej słabości musimy zdać sobie sprawę, że jeżeli hasło ma skończoną długość (a trudno, żeby miało nieskończoną), to podejmując skończoną ilość prób, można hasło odgadnąć. Odgadywanie może polegać na jednej z metod:

  • Po prostu wpisujemy hasło. Imię kota, później markę samochodu, datę urodzenia, abc123. I tak do skutku. Metoda nie jest specjalnie wyszukana, ale w praktyce przynosi niezłe efekty zwłaszcza, jeżeli atakujący zna osobiście atakowanego.
  • Uruchamiamy automat, który pobiera ze słownika haseł (prosto ściągalne z Internetu) słowo po słowie i próbuje użyć ich jako hasła. Dobre słowniki mają kilkaset tysięcy haseł.
  • Uruchamiamy automat, który używa haseł ze słownika, doczepiając im na końcu najbardziej typowe znaki takie jak 0, 123 czy wykrzyknik.
    Uruchamiamy automat, który próbuje wszystkich kombinacji po kolei. aaaa, aaab, aaac, ..., zzzy, zzzz, aaaaa.... i tak dalej, do skutku. W informatycznym slangu, metoda ta nazywana jest "brute force".

Skuteczność tych metod jest różna. Jak powiedzie się metoda pierwsza, to znaczy że użyto zbyt trywialnego hasła albo, że atakujący miał dużo szczęścia. Atakującemu "ręcznie" zwykle znudzi się po jakimś czasie od minuty do godziny i prawdopodobnie się podda.

Automaty się nie nudzą a do tego są szybsze niż człowiek stukający w klawiaturę. Dla dobrego, powiedzmy, że złożonego z dziesięciu komputerów, automatu do łamania haseł, wydajność na poziomie 100000 prób na sekundę nie jest nieosiągalna.

Jak łatwo policzyć, słownik złożony nawet z miliona haseł zostanie sprawdzony w 10 sekund. Jeżeli zasób był zabezpieczony hasłem ze słownika, to w takim czasie zabezpieczenie zostanie złamane. Warto wiedzieć, że w słownikach są nie tylko "normalne" słowa, ale i typowe hasła takie jak qwerty123 czy 1qaz@WSX.

Jeżeli zastosujemy hasło składające się ze słowa słownikowego i doczepionego na końcu ciągu znaków (na przykład alamakota123) – czas łamania zależy od tego ile takich ciągów będzie sprawdzane. Typowo jest to kilkadziesiąt. To wystarcza. Przy założonej wydajności odgadywania, oznacza to, że hasło podda się w czasie kilkunastu minut. To nie jest dobre zabezpieczenie.

Ciekawiej robi się przy hasłach nie dających się odnaleźć w słowniku i nie zawierających w sobie dużych słów prosto ze słownika.

Jeżeli hasło składa się z samych małych liter – mamy do dyspozycji 26 znaków. Łamiąc takie hasło mamy:

  • Dla hasła pięcioznakowego: 11881376 możliwości, czyli niecałe 2 minuty.
  • Dla hasła sześcioznakowego: 308915776 możliwości, czyli niecałą godzinę.
  • Dla hasła siedmioznakowego: 8031810176 możliwości, czyli prawie doba.
  • Dla hasła ośmioznakowego: 208827064576 możliwości, czyli ponad 3 tygodnie.
  • Dla hasła dziewięcioznakowego: 5429503678976 możliwości, czyli niemal dwa lata.
  • Dla hasła dziesięcioznakowego: 141167095653376 możliwości, czyli około 44 lata.

Jak jasno widać – warto stosować długie hasło, ale bez sięgania po prawdziwe słowa. Jak wspomniałem wcześniej, hasła ze słownika łamane są w kilka sekund.

A jeżeli, zamiast stosować długie hasło z samych małych liter (takie jak asodczlkme) zastosujemy krótsze, ale złożone z liter dużych i małych (takie jak AsODcz)? Mamy do dyspozycji 52 znaki. Ilość prób i czas łamania wyniosą maksymalnie:

  • Dla hasła pięcioznakowego: 380204032 możliwości – 1 godzina
  • Dla hasła sześcioznakowego: 19770609664 możliwości – ponad dwa dni
  • Dla hasła siedmioznakowego: 1028071702528 możliwości – niecałe cztery miesiące
  • Dla hasła ośmioznakowego: 53459728531456 możliwości – 17 lat
  • Dla hasła dziewięcioznakowego: 2779905883635712 możliwości – ponad 800 lat
  • Dla hasła dziesięcioznakowego: 144555105949057024 możliwości – prawie 47 tysięcy lat

Choć można założyć, że w tym czasie komputery zwiększą (zgodnie z prawem Moore'a) swoją moc obliczeniową, to i tak trochę im to zajmie.

Wychodzi, że dziesięcioznakowe hasło złożone z dużych i małych liter (takie jak sKIrEcyeAk) jest całkiem dobrym zabezpieczeniem.

Kombinujmy więc dalej. Do dużych i małych liter dodajmy cyfry. Razem 62 znaki do dyspozycji. Jeżeli zechcemy takie hasło złamać metodami brute force, otrzymamy maksymalne czasy:

  • Dla hasła pięcioznakowego: 916132832 – 2,5 godziny
  • Dla hasła sześcioznakowego: 56800235584 – prawie tydzień
  • Dla hasła siedmioznakowego: 3521614606208 – ponad rok
  • Dla hasła ośmioznakowego: 218340105584896 – prawie 70 lat
  • Dla hasła dziewięcioznakowego: 13537086546263552 – ponad 4000 lat
  • Dla hasła dziesięcioznakowego: 839299365868340224 – ponad 260 tysięcy lat

Duże i małe litery połączone z cyframi (na przykład dE3F4R5aa1) dają już hasło całkiem przyzwoite i trudne do złamania.

W przypadku tak zwanych znaków specjalnych, sprawa nieco się komplikuje. wynika to z faktu, że o ile litera A jest mniej więcej tak samo często używana jak Z, a cyfra 1 jak cyfra 9, to znak ! czy . jest znacznie bardziej popularny niż na przykład znaki + { ; _ czy \.

Podstawowe znaki specjalne obejmują to, co dostępne jest przez Shift+cyfra: !@#$%^&*() oraz znak kropki. Rozszerzona lista obejmie dodatkowo wszystko to, co dostępne jest z prawej strony klawiatury. Można teoretycznie używać znaków "bardzo specjalnych" takich jak ™, ® czy €, ale wtedy pojawia się duże ryzyko, że jakiś system będzie je źle rozumiał lub wprowadzał w taki sposób, że uwierzytelnianie stanie się niemożliwe, więc lepiej ich unikać. Przyjmując, że podstawowych znaków specjalnych jest 11 a z rozszerzonymi łącznie 30, otrzymamy w końcu tabelkę:

 

  Małe litery (26) Małe i wielkie litery (52) Litery i cyfry (62) Litery, cyfry i podstawowe znaki specjalne (73) Litery, cyfry i pełny zestaw znaków specjalnych (92)
5 znaków 2 minuty godzina 2 godziny 5 godzin 18 godzin
6 znaków godzina 2 dni 7 dni 17 dni 70 dni
7 znaków doba 4 miesiące 1 rok 3 lata 17 lat
8 znaków 20 dni 17 lat 70 lat 255 lat 1600 lat
9 znaków 2 lata 800 lat 4000 lat 19000 lat 150000 lat
10 znaków 44 lata 47000 lat 260000 lat 1,3mln lat 13mln lat

 

Warto zwrócić uwagę, że mowa jest o czasach maksymalnych. Jeżeli atakujący będzie miał dużo szczęścia – zgadnie w pierwszej sekundzie. Utrudnić mu to można stosując taki zestaw znaków hasła, jakich na pewno nie zechce sprawdzać. Czyli coś w okolicach ostatniej kolumny tabelki.

Dla jasności, warto wspomnieć jeszcze co się stanie, jeżeli hasło zastąpimy kluczem o długości na przykład 128 bitów. Maksymalny czas łamania przez nasz automat wyniesie ponad 107902830708060141889705291 lat. Długo, zwłaszcza pamiętając, że wszechświat istnieje "tylko" 14000000000 lat

Warto pomyśleć jeszcze o zwiększaniu mocy obliczeniowej automatu zgadującego hasła. Komputerów na świecie jest dużo i jeżeli do pracy "namówimy" na przykład dziesięć tysięcy maszyn – czas łamania skróci się tysiąc razy w porównaniu z dziesięcioma komputerami założonymi na początku. To duży zysk, ale na przykład dla dziewięcioznakowego hasła ze znakami specjalnymi, oznacza w praktyce sto pięćdziesiąt lat nieprzerwanego liczenia. Czyli w praktyce nie ma się chyba czego obawiać.

Wszystkie te dywagacje opierają się na założeniu, że stosowane algorytmy nie mają znanych wad. Dla współcześnie stosowanych rozwiązań zazwyczaj jest to prawda, ale o niejednym algorytmie tak myślano i czas brutalnie rozwiał te nadzieje.

Jeżeli ktoś chce zweryfikować powyższe obliczenia, to przypomnę tylko, że zbiór odgadywanych haseł jest wariacją z powtórzeniami.

Autor: Grzegorz Tworek [MVP]

Dawno, dawno temu, w czasach Windows XP, dostałem w prezencie tuner TV. Ot taki wtykany w port USB, niewiele większy od pendrive. Nawet działał, choć moje zapędy do oglądania telewizji są zdecydowanie poniżej średniej krajowej. Wprawdzie nie mam telewizora, więc tuner był okienkiem na świat, ale stosunkowo rzadko z niego korzystałem.

Później nadeszła pora Windows Vista. Zainstalowałem system w wersji x64 i zaczęły się kłopoty. Sterowniki tylko w wersji beta, instalacja kłopotliwa, system wybrzydza jak może... A to nie działa wcale, a to działa świetnie, ale bez dźwięku, a to nie rozpoznaje urządzenia... Pogodziłem się z tym jakoś, bo brak telewizji zdecydowanie nie jest zjawiskiem mogącym wpędzić mnie w depresję a sam tuner wylądował na półce z procesorami 400MHz, kartami ze złączem BNC, dyskami 1GB i innymi równie użytecznymi dziś urządzeniami.

Rozmyślając sobie ostatnio o różnych niekomputerowych rzeczach wpadłem na pomysł: a może by tak wetknąć ten tuner do laptopa z Windows 7 x64?

Tuner został wykryty, sterowniki ściągnęły się z Windows Update, Media Center zadał kilka prostych pytań i na moim ekranie pojawił się obraz. Całość przebiegła w sposób tak prosty, że nie ma nawet szczegółów ani smaczków do opisania. Po prostu działa! Windows 7 rulez!

Autor: Grzegorz Tworek [MVP]

Nie wiem sam, czemu to tak szybko... Bardzo dziękuję wszystkim, którzy zdecydowali się na posłuchanie mojej sesji. Pustek na sali nie było i zapewniam Was, że nie ma dla prelegenta lepszej nagrody. Oceny i statystyki też się liczą, ale wypełniona sala ma dla mnie większą wartość.

Dziękuję również uczestnikom konkursu Speaker Idol. Mimo, że mój osobisty faworyt nie wygrał, to i tak oceniam, że cały konkurs warty był energii włożonej w pomoc przy organizacji, namawiania wahających się, zabiegania o promocję i chodzenia w zielonej koszulce. Byliście świetni a ja po fakcie mogę się przyznać, że zasiadanie w komisji Speaker Idol od zawsze było moim marzeniem.

No a teraz do rzeczy.

Pokazałem kilka prostych poleceń PowerShell i oceniam, że mimo luźnego związku z tematem sesji, warto je tu przytoczyć dla pamięci.

Poleceniem pierwszym było import-module ActiveDirectory. Proste w swojej postaci i pozwoliło nam skorzystać z rozszerzeń obsługujących AD, dzięki czemu możliwe było cd AD: Wewnątrz AD też można robić cd, ale pamiętajcie, że cd, to alias do Set-Location. Ścieżki, do których przechodzi się w AD podaje się zawsze po ich Distinguished Name.

Drugi cykl poleceń opierał się na Get-WMIObject win32_volume. Z kilku teoretycznych powodów, WMI nie jest najlepszym przykładem dla remotingu, ale czytelnie ilustruje całą ideę.

Żeby wykonać powyższe polecenie na zdalnym komputerze (u mnie nazywał się on W7ENT), należy użyć Issue-Command W7ENT {Get-WmiObject win32_volume}

Powyższe polecenie zwróciło wszystkie właściwości wszystkich wolumenów. Aby odfiltrować tylko te oparte na NTFS, skorzystałem z polecenia icm w7ent {Get-WmiObject win32_volume} | Where-Object {$_.filesystem -eq "ntfs"}
Polecenie icm jest wbudowanym w PowerShell aliasem do Issue-Command a w trakcie prezentacji szybciej się je wklepuje.

Ponieważ powyższe zapytanie zwróciło wiele ciekawej, ale w tym przypadku bezużytecznej informacji, odfiltrowałem tylko to, co mnie interesowało
icm W7ENT {Get-WmiObject win32_volume} | Where-Object {$_.filesystem -eq "ntfs"} | select name, freespace

Później dodałem jeszcze jeden filtr i dodatkowy komputer, otrzymując w końcu nieco tasiemcowe polecenie

icm DC01,W7ENT {Get-WmiObject win32_volume} | Where-Object {$_.filesystem -eq "ntfs"} | select systemname, name, freespace | where-object {$_.freespace -lt 100000000}

Na koniec pokazałem jeszcze prosty skrypt dostępny dzięki modułowi ServerManager

Import-Module ServerManager

Get-WindowsFeature

Z prostym filtrem:

Get-WindowsFeature | Where-Object {$_.Installed}

I dla porównania

Get-WindowsFeature | Where-Object {!$_.Installed}

Pamiętajcie proszę, że funkcjonalność zdalnego uruchamiania poleceń PowerShell wymaga włączenia. Domyślnie jest wyłączona. Polecenie winrm quickconfig (z commandline) powinno załatwić sprawę szybko i skutecznie.

I na koniec, powtórzę jedną sugestię i jedną prośbę. Obie pojawiły się na mojej sesji:

  1. Uczcie się PowerShella. To ma przyszłość.
  2. Oceńcie MTS i wszystkie sesje na http://www.mts2009.pl

Autor: Grzegorz Tworek [MVP]

Znasz się na oprogramowaniu Microsoft? Masz ochotę pokazać innym ile wiesz? To poszukaj na polskiej Wikipedii artykułów, do których mógłbyś dodać coś od siebie. Uzupełnij je, uaktualnij albo napisz od nowa. W pierwszym etapie konkursu liczy się ilość artykułów poprawionych przez jedną osobę.

Szczegóły w odpowiednim wątku na portalu wss.pl W pierwszym etapie można upolować nagrody za ~5000PLN.

Dla jasności zaznaczam, że konkurs nie jest ani wymyślony ani organizowany przez firmę Microsoft.

Autor: Grzegorz Tworek [MVP]

Właśnie dostałem potwierdzenie, więc czym prędzej publikuję tą radosną informację. Zostałem zaproszony przez Springboard do podzielenia się swoją wiedzą podczas największej europejskiej konferencji dla ITPro. Będę więc służył pomocą wszystkim tym, którzy zechcą dowiedzieć się czegoś więcej o systemie Windows, ze szczególnym uwzględnieniem Windows 7. Zapraszam, choć jeszcze nie znam szczegółowo swojego harmonogramu.

Jak co roku, pewnie jeszcze nie raz opiszę tu swoje wrażenia i "sprzedam" kilka ciekawostek prosto ze źródła.

Autor: Grzegorz Tworek [MVP]

Dyski SSD są super i każdy, kto się z nimi zetknął przyznaje to bez wahania. Wprawdzie posiadacze "gramofonów" z silnikiem obracającym talerzami, nad którymi lata głowica dywagują nad wyższością SLC nad MLC i odwrotnie, jednak osobiście uważam, że lepszy dowolny SSD w garści, niż "gramofon" w komputerze i wspaniała wiedza teoretyczna o tym, który SSD ma jakie ograniczenia.

Jedną z cech SSD jest skończona ilość zapisów (a tak naprawdę wymazań), którą zniesie pojedyncza komórka pamięci. W zależności od technologii jest to liczba od kilku tysięcy do wielu milionów. Na pierwszy rzut oka to bardzo mało! Wystarczy wyobrazić sobie jakiś fragment danych wewnątrz pagefile. Dane są odczytywane i zapisywane cały czas. Czyli po stosunkowo niedługim czasie, w tym miejscu powinna pojawić się wadliwa komórka (taki nowoczesny odpowiednik bad blocka).

Żeby tak się nie stało (czyli żeby dysk padł parę dni po końcu gwarancji a nie parę dni przed), producenci dysków stosują tak zwany wear leveling. Mechanizm ten w praktyce polega na tym, że pojemność dysku 128GB, tak naprawdę wynosi na przykład 140GB. Około 10% komórek pamięci jest nieużywane i nie są one wprost dostępne dla użytkownika. Dzięki takiemu nadmiarowi, operacja typu odczytaj-zmień-zapisz (tak jak to się może dziać na przykład w pagefile albo w dowolnym dokumencie) od środka wygląda w taki sposób, że odczyt faktycznie jest, zmiana faktycznie jest, ale zapis dokonywany jest w zupełnie innym miejscu. Co ważne, system dostaje informację, że to jest nadal ten sam sektor dysku, tylko sam dysk SSD zapisuje go wewnątrz na innym kawałku krzemu. Dzięki temu, w zupełnie niewidzialny i nieodczuwalny dla użytkownika sposób, dysk SSD rozrzuca po swojej powierzchni zapisy, przez co ograniczenie ich ilości jest w praktyce dużo mniej dotkliwe. Co więcej, dysk SSD potrafi również podmieniać dane między blokami, dzięki czemu stosunkowo rzadko zmieniane informacje (na przykład tony DLLek z system32 czy zawartość Program Files zamieni się po jakimś czasie miejscem z katalogiem TEMP. W efekcie cały dysk dłużej służy i wszyscy są szczęśliwi.

Ciekawiej zaczyna się robić w sytuacji, gdy ktoś ma na dysku trochę poufnych danych i zechce dysk zaszyfrować. Dla ustalenia uwagi, powiedzmy że przy pomocy mechanizmu BitLocker. Zgodnie z opisem powyżej dzieje się to tak, że dane są odczytywane, szyfrowane w pamięci i zapisywane w zupełnie innym bloku pamięci. I tak sektor po sektorze, po całej logicznej powierzchni dysku.

W przypadku dysków "gramofonowych" sprawa była prosta. Zapis zaszyfrowanych danych następuje dokładnie w tym miejscu, skąd zostały one odczytane. Czyli oryginalne (tajne) dane zostają nadpisane i odczytanie ich nie jest w praktyce możliwe. A w przypadku SSD oryginalne dane pozostają w jawnej postaci. Wprawdzie przemapowane, w prosty sposób niedostępne, ale są. Może przy kolejnych operacjach coś je zamaże, a może nie...?

Nie wydaje mi się, żeby w praktyce było to bardzo poważne zagrożenie ale:

  • Warto się przez chwilę nad tym zastanowić, bo to słabo nagłaśniany aspekt tak BitLockera jak i SSD
  • Myśląc o szyfrowaniu danych, lepiej najpierw szyfrować dysk a później wgrywać dane niż odwrotnie.

Ot tak na wszelki wypadek...

Autor: Grzegorz Tworek [MVP]

Nazwy 8.3 (osiem znaków nazwy i trzy znaki rozszerzenia) są oczywiście zaszłością z czasów DOSa, ale jako, że niemała część programistów nie rozwinęła się od wczesnych lat dziewięćdziesiątych, nadal pokutują w wielu sytuacjach.

Żeby nie zostawić biednych programistów na lodzie, system NTFS, dla każdej dłuższej niż 8.3 nazwy, może generować nazwę "po staremu". Łatwo te nazwy przeczytać przy pomocy polecenia dir /x. Generowanie nazw można w każdej chwili włączyć lub wyłączyć i nie jest to specjalnie trudne.

I teraz pojawia się dylemat... Generować te nazwy czy nie? Jeżeli generować, to nie ma nic za darmo. Miejsce na dysku, zwiększony czas tworzenia pliku, skomplikowane działania przy przenoszeniu pliku z katalogu do katalogu... Nie generować? A co jeżeli trafimy na jakąś aplikację, która bez tego sobie nie poradzi...? To wcale nie jest taki rzadki przypadek, mimo że długie nazwy obowiązują już prawie 15 lat.

Stojący przed takim dylematem administrator zwykle decydował się na pozostawienie krótkich nazw. Tak na wszelki wypadek.

Tymczasem jak by to było pięknie, gdyby na dysku C:\ pozostawić takie nazwy a na X:\ - pożegnać się z nimi na dobre. Otóż nie jest to żaden problem... w Windows Server 2008 R2. Da się. Prostym i przyjaznym poleceniem fsutil z parametrem 8dot3name. Do tej pory działało to albo w całym systemie albo nigdzie.

Kolejny miły drobiazg z serii "dlaczego dopiero teraz?". Ale nie narzekam. Cieszę się, że w końcu się da.

Autor: Grzegorz Tworek [MVP]

Jako, że klastry i technologie HA stanowią istotną część mojej pracy i zainteresowań, staram się od czasu do czasu coś na ten temat napisać. Oczywiście nie jestem jedyny, ale pisząc coś na blogu, staram się nie tworzyć postów "bo ktoś tam napisał, więc macie linka do artykułu/bloga/filmu/itp.". Tym razem zrobię wyjątek. Symon Perriman (jedna z najważniejszych osób związanych z klastrami w Microsoft) opublikował na swoim blogu post z listą ponad 300 użytecznych zasobów na temat klastrów i HA. Zadziałał nieco podstępnie, bo materiał przeznaczony raczej dla tak zwanych IT Pro umieścił na blogu MSDN.

Wyjątkowo robię z bloga "linkownię" i podaję ku pamięci:

Clustering and High Availability

O klastrach, R2, CORE, Exchange, DFS, Exchange, Hyper-V, klastrach geograficznych, NLB, PowerShellu, SQL i wszystkim innym, co daje się z klastrami skojarzyć. Warto dodać do ulubionych.

Autor: Grzegorz Tworek [MVP]

U jednego z klientów trafiłem na dziwny przypadek: Windows Vista widzi pliki *.vbs w serwerowym folderze SYSVOL a Windows XP nie. Brzmi tajemniczo, ale w praktyce tak to właśnie było. Wiadomo, że Windows Explorer lubi wyświetlać przekłamaną rzeczywistość ,ale z wiersza poleceń wyglądało to dokładnie tak samo. Wszystkie pliki są, a *.vbs nie ma.

Pierwszą myślą było, że może to nie ten sam SYSVOL. W końcu folder ten replikuje się i a nuż te dwie stacje robocze widzą udział z różnych serwerów? Otworzyliśmy więc po kolei ten udział na każdym z kontrolerów domeny i faktycznie. Na jednym jest a na innych – nie. Czyli problem z bardzo tajemniczego stał się zupełnie zwyczajny. Plik się nie replikuje. Otworzyliśmy obok siebie okienka z poszczególnych serwerów i spróbowaliśmy utworzyć testowy plik tekstowy. Chwila i jest we wszystkich. Czyli replikacja działa. To samo z plikiem vbs i... też działa! A jeden plik nie chce. I w tym momencie przypomniała mi się notka o plikach tymczasowych. Powershell, chwila prawdy i jest! Plik miał taki atrybut. Teraz pojawiła się kolejna nie mniej ciekawa zagadka. Dlaczego taki atrybut ten właśnie plik ma...? Okazało się, że plik przyszedł pocztą elektroniczną. Spróbowaliśmy powtórzyć cały cykl operacji, żeby wyizolować problem. I po niedługich bojach sprawa była względnie jasna: Operacja "Save As..." dla załącznika w Outlook 2007 zapisywała plik w zupełnie normalny sposób, ale równocześnie otrzymywał on atrybut FILE_ATTRIBUTE_TEMPORARY.

Wniosek? Nie należy replikować plików otrzymanych przez e-mail. Tak na wszelki wypadek. Bo szybkie testy pokazały, że Outlook wcale nie zawsze tak oznacza zapisywany plik... zdziwniej i zdziwniej...

A tak na koniec, dla przypomnienia, atrybuty plików wyświetla się tak:

 Get-ChildItem | Format-Table Name, Attributes

Oczywiście w PowerShell, bo standardowe polecenia systemu nie pokazują najważniejszej w tym przypadku informacji.

Autor: Grzegorz Tworek [MVP]

More Posts Next page »
 
Page view tracker