Weryfikacja, czy plik jest używany lub zablokowany przez inny proces/użytkownika

14 lipca 2015 at 12:00

W przypadku, gdy zachodzi potrzeba sprawdzenia czy dany plik jest wykorzystywany przez jakiś proces lub innego użytkownika można do tego celu wykorzystać następująca funkcję:

Opublikowaną swego czasu przez Davida Brabanta Całe testowanie prowadza się do wykonania polecenia:

które zwraca odpowiedzi na zasadzie prawda/fałsz – proste szybkie i skuteczne. Ku pamięci – żeby nie musieć w przyszłości jeszcze raz „odkrywać Ameryki na nowo”…

Tworzenie archiwów z użyciem Powershell’a

14 lipca 2015 at 11:41

Temat tworzenia archiwów (*.zip, *.7z) przewija się przy większości systemów, które generują masę logów zajmujących sporo miejsca na dyskach. Można z tym walczyć wykorzystując de-duplikację danych, można zasób kompresować ale i tak najczęściej sprowadza się do konieczności tworzenia archiwów, które zostaną zarchiwizowane na zasobach zewnętrznych. Jak więc robić to automatycznie? W przypadku, gdy pliki odkładane są w jednej lokalizacji – możemy spakować cały folder mając zainstalowany pogram 7-zip wykorzystując poniższa funkcję:

(Zakładając, że 7-zip jest zainstalowany w domyślnej ścieżce) Później pozostaje tylko wykonanie kompresji:

Ale gdy nie chcemy instalować 7-zipa, albo pliki do archiwizacji mamy rozrzucone w wielu różnych lokalizacjach łatwiej i wygodniej będzie wykorzystać dobrodziejstwa powershella w Windows 2012 R2:

Wykorzystujemy tutaj proces, w którym w skrócie: 1. Tworzymy archiwum *.zip 2. Pobieramy interesujący nas log do zmiennej 3. Dodajemy log do utworzonego w pkt. 1 archiwum Pozostaje tylko usunięcie zarchiwizowanego logu:

Oraz zaplanowanie w harmonogramie zadań częstotliwości wykonywania archiwizacji. Enjoy

POC – Private “Update for Business” – Automatyczny Maintenance

9 lipca 2015 at 11:39

Spis treści projektu: 1. POC – Private “Update for Business” – Intro 2. POC – Private “Update for Business” – Komputery i Grupy 3. POC – Private “Update for Business” – Inwentaryzacja klientów 4. POC – Private “Update for Business” – Inwentaryzacja poprawek 5. POC – Private “Update for Business” – Automatyczna akceptacja poprawek 6. POC – Private “Update for Business” – Automatyczny Maintenance Z naszym projektem Private “Update for Business” zbliżamy się wielkimi krokami do końca. Pozostały nam właściwie jedynie do obsłużenia zadania Maintenance’owe – żeby nasze rozwiązanie działało długi czas stabilnie, wydajnie i bez problemów OK Zaczynamy. Nasze zadania Maintenance’owe może podzielić na kilka głównych zadań: 1. Maintenance (Re-Indexacja) bazy danych WSUS’a 2. Odrzucanie starych, przeterminowanych i zastąpionych nowszymi wersjami poprawek 3. Czyszczenie WSUS’a z niepotrzebnych danych   AD.1. Tutaj najlepiej skorzystać z „gotowca” bo nie ma co odkrywać Ameryki na nowo Są świetnie działające skrypty – więc z nich korzystajmy: WSUS Maintenance Żeby mieć logowanie tego, co wykonał skrypt do pliku wystarczy ww. skrypt SQL’a zapisać do pliku np: ‚C:\scripts\DB_Maintenance\WSUSSBMaintenance.sql’ oraz w Powershellu dopisać parę linijek:

a teraz Skrypt Powershell’owy przypisać do harmonogramu zadań, żeby wykonywał się cyklicznie.   Ad.2. A) Jak zwykle w tym Projekcie […]

POC – Private “Update for Business” – Automatyczna akceptacja poprawek

8 lipca 2015 at 05:36

Spis treści projektu: 1. POC – Private “Update for Business” – Intro 2. POC – Private “Update for Business” – Komputery i Grupy 3. POC – Private “Update for Business” – Inwentaryzacja klientów 4. POC – Private “Update for Business” – Inwentaryzacja poprawek 5. POC – Private “Update for Business” – Automatyczna akceptacja poprawek 6. POC – Private “Update for Business” – Automatyczny Maintenance W kolejnej części naszego projektu Private “Update for Business” pochylimy się nad głównym tematem przybliżającym nas do osiągnięcia zbliżonego schematu działania usług aktualizacji, jak oryginalne rozwiązanie Microsoftu, czyli cyklów release’owych poprawek dla poszczególnych grup komputerów. Dla naszego „Pierwszego okręgu”, czyli grupy testowej, gdzie wysyłamy wszytkie poprawki od razu po synchronizacji z serwerem WSUS’a jest najprościej, bo możemy wykorzystać do tego celu reguły dotyczące poprawek. Przechodzimy więc do konsolki mmc służącej do zarządzania serwerem WSUS, następnie do „Options” oraz „Automatic Approvals”. Tutaj tworzymy nową regułę, którą nazwiemy – „Grupa_Testowa_Auto_Approve” i w sekcji „Step 1” zaznaczamy: 1. When an update is in any classification 2. When an update is in any product Natomiast w sekcji „Step 2” określamy: 1. Approve the update for Grupa_Testowa Mamy automat akceptujący wszystkie poprawki dla naszego „pierwszego okręgu”, antomiast stworzenie kolejnych nie jest […]

POC – Private “Update for Business” – Inwentaryzacja poprawek

7 lipca 2015 at 05:42

Spis treści projektu: 1. POC – Private “Update for Business” – Intro 2. POC – Private “Update for Business” – Komputery i Grupy 3. POC – Private “Update for Business” – Inwentaryzacja klientów 4. POC – Private “Update for Business” – Inwentaryzacja poprawek 5. POC – Private “Update for Business” – Automatyczna akceptacja poprawek 6. POC – Private “Update for Business” – Automatyczny Maintenance Po zinwentaryzowaniu klientów WSUS’a pora na inwentaryzację poprawek. Można oczywiście wy-klikać i sprawdzać poszczególne poprawki w kontekście tego, czy są zaakceptowane, czy odrzucone oraz na której z utworzonych grup zostały zaakceptowane, a na której jeszcze nie… Można też użyć do tego celu Powershell’a – ale niestety działa on strasznie wolno w porównaniu z bazą WSUS’a i bezpośrednimi zapytaniami. OK. Czego potrzebujemy (oprócz czasu )? Zapytania SQL oraz skryptu Powershell’owego żeby wyciągnąć informacje o poprawkach i zapisać je w przyjaznej formie zbiorczego raportu w pliku csv. Zaczynamy od zapytania SQL:

W odpowiedzi na powyższe zapytanie dostaniemy informację o poprawkach na naszym serwerze WSUS w postaci wpisów: KB Title IsDeclined Grupa_testowa Grupa_Pilotazowa Grupa_Produkcyjna All_Computers Description Severity ScurityBulletin CreationDate WSUSArrivalDate UpdateID KB3074219 Security Update for Internet Explorer Flash Player for Windows 8.1 for x64-based Systems (KB3074219) 0 2015-06-23 […]

© Marcin Krzanowicz