nExoRa Repozytorium Skryptów


Skrypty PowerShell


info:jedna z podstawowych czynności administracyjnych – podstawowy audyt AD w celu zbadania kont nieużywanych i z niewygasającymi hasłami. również komputery – ORDNUNG MUSS SEIN! czyż nie?
algorytm: wyszukiwanie kont przy pomocy 'findUnusedADObjects’. skrypt generuje 3 pliki logu – dla nieużywanych kont userów, komputerów oraz konta z niewygasającymi hasłami. drugi skrypt to 'blockUnusedComputers’, który blokuje konta i przesuwa je do zdefiniowanego OU. można w logu dodać '*’ na początq linii aby któryś obiekt ominąć. konta userów są do ręcznej obróbki ze względu na wiele wyjątqw – długie urlopy, kobiety na macierzyńskim, konta 'backdoor’ itp.

:findUserADObjects: o6/o2/2o13

:blockUnusedComputers: o6/o2/2o13

Skrypty WSH

Poniżej kilka gotowych skryptów WSH napisanych w VBasic’u – które mogą przydać się w codziennej niedoli administratora – quota, manipulacje na obiektach użytkowników, operacje na zmiennych środowiskowych etc.


info: Ile potrzeba kliknięć, żeby zmienić konfigurację IP? Jak często rekonfiguruje się na lapie parametry TCP/IP? w firmie tak, w domu inaczej… ciągłe klikanie nie jest zbyt wygodne. Dodatkowo pozwala na szybką zmianę ustawień proxy dla IE.
CIPA czyli Change IP Address to skrypcik, który pozwala zmieniać ip szybko, i zachowując ulubione adresy w pliku. wersja o.52

:cipa.msi: 21/March/2007


info: Biblioteka tworząca plik logu z przykładowym sposobem użycia. Tworząc jobfile wsf. Poprawiona i dostosowana do korzystania z stdOut. Ostatnio dużo skryptów piszę więc
stają się one coraz bardziej spójne. Mam nadzieje, że przydadzą się i innym. Niewątpliwie tą wykorzystuję najczęsciej wiec pewnie coś niecoś jeszcze do niej zostanie dopisane…
Po zaincludowaniu można stworzyc obiekt stdOut tak jak pokazano w przykładowym pliku.
* pliki wsf to pliki XML więc mogą być źle wyświetlane przez przeglądarkę. Najelpiej zachować je na dysku i dopiero obejrzeć.

:logfile.lib.vbs: 02/November/2006

:testLogFile.wsf: 05/March/2006


info: Co jakiś czas po instalacji serwera wychodze z serwerwni, chcę się zdalnie do niego podłączyć… ale zapomniałem zaznaczyć checkbox 'allow users to connect remotely’. Zamiast pamiętać klucz w rejestrze – malutki skrypcik, który włącza/wyłącza to ustawienie zdalnie.

:enableRDP.vbs: 21/August/2006


info: Częstym problemem w sieciach korporacyjnych są notebooki. Chciałoby się odebrać userom uprawnienia administratora, co na zwykłej stacji w firmie nie jest problemem, jednak wiadomo – notebook traktowany jest bardziej prywatnie. Nadając za wysokie uprawnienia stanowi to niebezpieczeństwo dla firmy [możliwość przeniesienia wirusa/robaka etc], nie dając – nie da się np. zmienić adresu IP (sic!). Poniższy skrypt hta modyfikuje wpisy w rejestrze dot. adresu IP, dzięki czemu po nadaniu użytkownikowi uprawnień zapisu do HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters oraz restartu, użytkownik może modyfikować IP bez uprawnień power user/administrator

***zmiany w v.o.3

  • pokazywane info o ip i dhcp podczas przeglądania interface’ów
  • część interface’ów została usunięta z listy [niekonfigurowalne]
  • sprawdzanie poprawności wpisywanych numerów IP [345.-1.0.0 to nie adres IP]
  • inne drobne poprawki

:SINA.zip: 24/July/2006


info: Wykorzystanie SetAcl.ocx dostępnego na sourceforgeu, który można
wykorzystać w skryptach do reACLowania obiektów wszelkiego typu. Jest to bardzo potężne narzędzie, przydatne m.in.
podczas migracji.

Niestety dostarczone jest z marną dokumentacją. Poniższe skrypty to wszystko to, co udało mi się wyciągnąć korzystając z OleView
oraz testów. Jest to póki co stosunkowo niewiele, ale mam nadzieję, że w przyszłości się rozrośnie.
* pliki wsf to pliki XML więc mogą być źle wyświetlane przez przeglądarkę. Najelpiej zachować je na dysku i dopiero obejrzeć.

:setacl.wsf: 05/March/2006

:setacl.lib.vbs: 05/March/2006


info: wstępna wersja biblioteki do obsługi błedów. Przydatna, żeby ciągle nie szukać w technecie.

* pliki wsf to pliki XML więc mogą być źle wyświetlane przez przeglądarkę. Najelpiej zachować je na dysku i dopiero obejrzeć.

:testError.wsf: 05/March/2006

:error.lib.vbs: 05/March/2006


info: prosta biblioteka pozwalająca na szybcika skleić skrypt do restartu maszyny – czy to zdalnej czy lokalnej.
* pliki wsf to pliki XML więc mogą być źle wyświetlane przez przeglądarkę. Najelpiej zachować je na dysku i dopiero obejrzeć.

:testShtdown.wsf: 05/March/2006

:shutdown.lib.vbs: 05/March/2006


info: jak zamienić postać SIDa na coś normalnego? skrypt prezentuje funkcje konwertującą do SDDL czyli
postać typu S-auth-number oraz jako hexString w postaci biblioteki. Ponadto dostępna jest funkcja pozwalająca sprawdzić czy dany SID należy do wellkown-SIDs.
Dodatkowo wykorzystywana jest biblioteka locateUser oraz dostępny jest przykładowy skrypt ze sposobem użycia.

* pliki wsf to pliki XML więc mogą być źle wyświetlane przez przeglądarkę. Najelpiej zachować je na dysku i dopiero obejrzeć.

:testSid.wsf: 05/March/2006

:sids.lib.vbs: 05/March/2006

:locateuser.lib.vbs: 05/March/2006


info: biblioteka do operacji na rejestrze wraz z przykładem użycia. Póki co są zaincjalizowane stałe i funkcja do przeniesienia klucza rejestru w inne miejsce.
Problem, którego nie rozwiązałem to zmienne typu REG_EXPANDED_SZ, które… są rozwiązywane. Po przeniesieniu np. %windir% w nowym kluczu będzie wstawiona realna ścieżka po rozwiązaniu zmiennej.
* pliki wsf to pliki XML więc mogą być źle wyświetlane przez przeglądarkę. Najelpiej zachować je na dysku i dopiero obejrzeć.

:reg.lib.vbs: 30/May/2006

:testReg.wsf: 05/March/2006


info: biblioteka z funkcją 'checkWinVer’ sprawdzającą wersje windowsa na podstawie wpisu w rejestrze. Przydatne podczas pisania skryptów, które mają być uruchamiane na wielu systemach.
* pliki wsf to pliki XML więc mogą być źle wyświetlane przez przeglądarkę. Najelpiej zachować je na dysku i dopiero obejrzeć.

:winver.lib.vbs: 05/March/2006

:testWinVer.wsf: 05/March/2006


info: jak za pomocą skryptu manipulować quotą – informacje o ustawieniach/przypisywanie quoty etc.

:testQuota.vbs: 05/March/2006


info: umgr (UserManager) umożliwia zakładanie userów, wyszukiwanie, wyświetlanie informacji, pozwala na skonfigurowanie wszystkich parametrów typu 'homeDrive’, 'homePath’, telefony itd. Dzięki temu może być bardzo przydatnym narzędziem do masowych operacji na userach.
Skrypt był pisany dawno, ostatnio został wymieniony sposób przeszukiwania AD (ADODB search), poprawionych wiele, wiele błędów.

:umgr.vbs: 14/October/2006


info: bardzo prymitywny skrypcik, który na podstawie pliku textowego update’uje parametry kont studentów. Może się przydać do zobaczenia jak obsługuje się pliki i podstawowe operacje na obiekcie user.

:userUpdate.vbs: 05/March/2006


info: bardzo prosty skrypt napisany w celu wykrywania wirusa parite. sprawdza jeden wpis w rejestrze, jaki robi ten wirus [HKCUsoftwaremicrosoftwindowscurrentversionexplorerPINF]. Podczepiony w polisach na wysokości domeny z opcją 'no override’ jako skrypt logowania dla każdego usera – jest wygodnym alarmem. Przydatny do sprawdzenia jak operuje się na rejestrze.

:pariteCheck.vbs: 05/March/2006


info: to spory skrypt. Można wykorzystać kilka różnych elementów do nauki – sprawdza jakie są dostępne kontrolery domeny, potem dla wybranych userów sprawdza czasy ostatniego logowania. W w2k nie da sie tego sprawdzić inaczej, w w2k3 czas ostatniego logowania jest podany z dokladnoscia 'co do tygodnia’ a więc niewystarczającą. Ten skrypcik może być przydatny do sprawdzenia dawno nieużywanych kont. Wyszukiwanie userów jest via ADODB search. Jednak z jakichś powodów, przy dużych zapytaniach (typu: wszyscy userzy z kontenera users, a jest ich np. 2ooo) nie potrafi sie podbindować do niektórych obiektów. Myślę, że jest to jakiś problem mechanimu cacheowania… wstawiony jest tam w pewnym miejscu timeout, ale nie pomaga. Nie potrafiłem znaleźć nic na ten temat w Technecie.

:checkLastLogonTime.vbs: 13/September/2006


info: czasem podczas instalacji programu z pakietu AI (symantec ghost) instalacja rozwala zmienną path – brakuje średników, mnoży ścieżki – powstają gigantyczne i nie działające ścieżki. w konsekwencji część programów nie działa. To jest skrypt, który pobiera zmienną path, dostawia brakujące średniki, usuwa te, które się powtarzają, wywala duplikujące się elementy. Skrypt oczywiście jest dopasowany do moich wymagań co do nazewnictwa kompów, ale przerobienie nie powinno być problemem.

:fixPath.vbs: 05/March/2006


info: skrypcik przydatny jeśli korzysta się z profili roamingowych. Pomimo opcji 'delete roaming profiles after logoff’, duża część profili zostaje – ponieważ kretyński explorer blokuje dostęp do kilku plików. Ten skrypcik kasuje z katalogu D’n’S wszystkie profile, poza wymienionymi w dodatkowej zmiennej – tak aby ocalał profil admina, default users etc. Umieszczony jako startup script dla komputerów bardzo fajnie się sprawuje.

:clearProfiles.vbs: 05/March/2006


info: skrypt, który dodaje obecnie zalogowanego użytkownika do grupy administratorów lokalnych. Aby uniezależnić się od wersji językowej – nazwa grupy np. Administrators w ver. eng czy Administratorzy w wer. PL – najpierw sprawdza nazwę grupy na podstawie well known SID.

:addToLocalAdmins.vbs: 05/March/2006


info: rozwinięta wersja poprzedniego skryptu, przygotowana do dodania do GPO. podaje się dwa parametry – netbiosowa nazwę domeny i nazwę grupy [użytkownika]. skrypt sprawdza po SIDzie nazwę grupy administratorów lokalnych [dzięki temu zadziała bezbłędnie na każdej wersji językowej] i dodaje do niej wskazaną grupę. wynik działania zostanie zapisany do eventloga więc zawsze zostaje ślad z działania.

:add2LocalAdmin.vbs: 05/March/2006


info: Skrypt kasuje wszystkie pliki starsze niż X godzin. Operacja wykonana jest na zdefiniowanym katalogu i na wszystkich komputerach, zczytanych z pliku 'server.list’.

:clearTemp.vbs: 05/March/2006

:server.list: 05/March/2006

-o((:: sprEad the l0ve ::))o-