Zdalna deinstalacja poprawek

1 lipca 2015 at 07:50

Niestety ostatnio coraz częściej zdarza się, że Microsoft wypuszcza poprawki, które psują pewne działające wcześniej funkcjonalności systemów. W przypadku, gdy zależy nam na szybkim usunięciu poprawki z wybranej stacji roboczej/serwera celem weryfikacji czy dana poprawa była przyczyną zaprzestania działania funkcjonalności i nie mamy do tego żadnych płatnych narzedzi możemy wykorzystać oczywiście Powershell’a Skorzystamy z narzędzia systemowego wusa.exe, z tym że trochę podrasujemy zwracane przez nie wyniki, żebyśmy mieli na bieżąco informację o tym, czy dana poprawka jest w trakcie deinstalacji, czy proces już się zakończył:

Wykorzystanie powyższej funkcji np: Uninstall-Hotfix -computername PC1 -HotfixID KB2676562

Błędy encoding utf-8 przy wysyłce maila z Powershella

1 lipca 2015 at 07:42

Podczas próby wysyłki maila z poziomu Powershell’a (Send-MailMessage) z użyciem formatowania utf-8 w niektórych przypadkach pojawiają się błędy typu: Send-MailMessage : Cannot bind parameter ‚Encoding’. Cannot convert the „utf8” value of type „System.String” to type „System.Text.Encoding”. Jest to spowodowane „cache’owaniem” formatowania z bieżącej konsoli/ustawień systemu. Aby pozbyć się tego błędu należy: 1. Utworzyć nowy obiekt formatowania utf-8:

2. Wykorzystać ten obiekt w poleceniu wysyłającym maila np:

I można się cieszyć działającą wysyłką maili 😉

Ograniczenie CPU dla Powershella

9 czerwca 2015 at 17:36

Od jakiegoś czasu zastanawiałem się w jaki sposób można ograniczyć ilość CPU wykorzystywanego przez uruchamiane skrypty Powershell’a tak aby nie zabijały one maszyny, na której są odpalane. Jak się okazuje temat wcale nie jest taki trywialny, bo prostej metody nie ma… Jest jedynie workaround: 1. Tworzymy dedykowane konto użytkownika, które będzie wykonywać skrypty na serwerze. 2. Nadajemy kontu uprawnienia do uruchamiania skryptów oraz wykonywania zadań w ramach skryptu. 3. W rejestrze pod ścieżką: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Quota System\(SID-Użytkownika) tworzymy wpis o nazwie „CpuRateLimit” typu „REG_DWORD” i ustawiamy interesującą nas wartość np ’10’ – oznaczającą maksymalnie 10% wykorzystania CPU. Cieszymy się, że nie zabijamy serwera skryptami Powershell’owymi

Powershell – sprawdzanie, czy archiwa są chronione hasłem

24 kwietnia 2015 at 18:30

Problem na dziś: Należy utworzyć udostępniony zasób sieciowy, na który użytkownicy mogą wrzucać tylko i wyłącznie archiwa plików (.zip , .raz , .7z), które są chronione hasłami (Bezpieczeństwo przed wszystkim… ). W przypadku, gdy wrzucone dane nie spełniają tych wymagań mają być automatycznie usuwane z zasobu. Zasadniczą kwestią jest tutaj rozwiązanie zadania dotyczącego weryfikacji, czy plik jest chroniony hasłem. Czego będziemy potrzebować? Zainstalowanego pakietu 7zip razem z narzędziami wiersza poleceń + powershell’a. 1. Utwórzmy sobie zasób, na którym wykonywać będziemy zadanie np. w lokalizacji „D:\TESTY” 2. Do Katalogu „D:\TESTY” wrzucamy 1 archiwum chronione hasłem, 1 archiwum bez hasła i przykładowy plik tekstowy: Żeby potwierdzić, poprawne działanie poniżej archiwum z hasłem: Archiwum bez hasła: Oraz pełna zawartość katalogu: 3. Po zainstalowaniu 7zip’a i odpaleniu Powerhsell’a przystępujemy do obsłużenia zadania (Skrypt rozbity na części pierwsze – objaśnienie, co robi skrypt; poszczególne linijki same bez kontekstu skryptu mogą nie działać ) I. Zaczynamy od wy-listowania zawartości katalogu:

II. Żeby nie tracić czasu i nie sprawdzać pod kątem istnienia hasła – plików, które nie są zakładanymi archiwami – filtrujemy rozszerzenia:

III. Weryfikujemy, czy archiwum jest chronione hasłem: IIIa. Próbujemy dostać się do archiwum przy użyciu wyimaginowanego hasła, którego nie wprowadziłby żaden umysłowo […]

De-duplikacja danych w Windows 2012 R2

20 kwietnia 2015 at 16:41

Jako, że miejsca na serwerach (macierzach, dyskach…) ciągle brakuje, nie ważne ile by go nie było i tak zawsze jest to za mało Z drugiej strony dodatkowa przestrzeń kosztuje i to niemało jeśli mamy na myśli szybkie dyski SSD, czy replikowane macierze. Z drugiej strony nawet jeśli nie borykamy się z brakiem miejsca – dobrze jest móc wykorzystywać zasoby w sposób optymalny, czyli jeśli się da to „zabierać” 10GB miejsca zamiast 100GB, gdy nie ma takiej konieczności. Ale jak tego dokonać? Można kupić sprzętowy de-duplikator, z tym że jego cena często jest wyższa niż cena dodatkowej przestrzeni i zaczyna się spinać biznesowo dopiero po kilku latach. Sory – taki mamy klimat Pozostaje więc rozejrzeć się za de-duplikacją software’ową – najlepiej taką, która nic nie kosztuje i jest dostępna w systemie operacyjnym – Bingo Wykorzystajmy więc de-duplikację z Windows Server 2012R2. Czego nam potrzeba? Serwera, chwili czasu i chęci. Zaczynamy: 1. Instalujemy rolę de-duplikacji plików:

2. Wskazujemy dysk, na którym chcemy wykonywać de-duplikację danych oraz przeznaczenie zasobu (standardowe zasoby plikowe lub Hyper-V):

3. Określamy wiek plików, które mają podlegać de-duplikacji np (1 dzień):

I zasadniczo trzon konfiguracji został wykonany. Pozostaje nam uruchomić de-duplikację i sprawdzić efekty 4. Uruchomienie […]

© Marcin Krzanowicz