Category Archives: Commandline

WSUS Support

Restart klienta

net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver

Poniższe dwie linijki zmieniają nazwę, równie dobrze można skasować foldery. Jeszcze nie zdarzyło mi się, żebym odzyskiwał.

ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 catroot2.old

net start wuauserv
net start cryptSvc
net start bits
net start msiserver

wuauclt.exe /resetauthorization
wuauclt.exe /detectnow
wuauclt.exe /reportnow

Czasy Windows. Konkretnie jeden, systemowy.

Sprawdzenie ustawień czasu pod OS Windows:

W32tm /query /configuration

Źródło czasu:

w32tm /query /source

Ustawienie źródeł czasu NTP

w32TM /config /syncfromflags:manual /manualpeerlist:”10.10.1.11 10.10.2.22″

Aktualizacja ustawień:

w32tm /config /update

Wymuszenie synchronizacji:

w32tm /resync

Porównanie czasu systemowego z wzorcem:

w32tm /stripchart /computer:ntpserver.local /dataonly

Więcej info:

  • https://learn.microsoft.com/en-us/windows-server/networking/windows-time-service/how-the-windows-time-service-works
  • https://jasoncoltrin.com/2018/08/02/how-to-set-clock-time-on-ad-domain-controller-and-sync-windows-clients/

Bezinwazyjne rozszerzenie partycji – Windows

Jeżeli używasz VMWare lub czegoś podobnego i nagle na partycji (nawet systemowej) zaczyna brakować miejsca, nie musisz już się martwić. (Pod warunkiem, że fizycznie będziesz miał wolną przestrzeń).

Wystarczy w parametrach wirtualnej maszyny zwiększyć dysk wirtualny, a do powiększenia samej partycji użyć programu Extpart ze strony firmy Dell: http://www.dell.com/support/drivers/us/en/19/driverdetails?driverid=R64398

Przykład polecenia: Extpart c: 1024

Wielkość podajemy w MB.

Windows 2008 Server R2 – ICMP Ping

Domyślnie, po zainstalowaniu serwera Windows 2008 Server R2, Windows Firewall blokuje pakiety przychodzące ICMP Ping.

Na stronie Microsoftu można odnaleźć informację, jak to włączyć ale…. ale nie działa. Nie działa, gdyż w nazwie reguły znajdują się spacje, a tego netsh nie przyjmuje.

Prawidłowa reguła wygląda następująco:

netsh advfirewall firewall add rule name=Allow_ICMPV4_PING protocol=icmpv4:8,any dir=in action=allow

w wersji NIE R2 wygląda to jeszcze inaczej, a wszystko opisane jest na stronie Microsoftu: http://support.microsoft.com/kb/947709

 

Data w nazwie pliku – skrypty CMD

Pisząc skrypty CMD często potrzebuję zawrzeć w nazwie generowanego pliku datę i godzinę.

Niby nic trudnego, gdyby nie to, że przed godziną 10 występują liczby bez pierwszego zera. Zamiast 09 mamy 9 – ze spacją zamiast zera.

Powoduje to wystąpienie niepotrzebnie spacji w nazwie pliku, co komplikuje nam późniejsze operacje na pliku – dodatkowe cudzysłowy itp.

Poniższy skrypt rozwiązuje tę sprawę. Jako wynik zwracana jest zmienna: DATETIME w formacie YYYYMMDDHHMMSS

REM *************** DO NOT REMOVE ***********************
REM DATETIME Environment by Ogre2000 (2011)
REM Version 1.0
REM ogre2000@ogre2000.info
REM http://galaxys.pl
REM *************** DO NOT REMOVE ***********************

REM Valid for YYYY-MM-DD
REM Change if You have other system language
set dates=%date:~0,4%%date:~5,2%%date:~8,2%
Echo %dates%

REM Test ZERO before Hour
set testtime=%time:~0,1%
echo %testtime%
if “%testtime%”==” ” GOTO BEFORETEN
GOTO AFTERTEN

:BEFORETEN
echo %time%
set times=0%time:~1,1%%time:~3,2%%time:~6,2%
Echo %times%
GOTO SETDATETIME

:AFTERTEN
echo %time%
set times=%time:~0,2%%time:~3,2%%time:~6,2%
Echo %times%
GOTO SETDATETIME

:SETDATETIME
REM echo DATA %dates%
REM echo CZAS %times%
set datetime=%dates%%times%
echo DATETIME

Którą to zmienną można użyć w dalszej części skryptu.

UWAGA: W przypadku zastosowania w systemach z innymi niż wyżej użyte ustawieniami regionalnymi należy zmienić linijkę:

set dates=%date:~0,4%%date:~5,2%%date:~8,2%

na bardziej odpowiednią.

Poniżej załączam plik: DATETIME_ENV

 

SYDI – Network Documentation Made Easy

Często brakuje dokumentacji serwerów: konfiguracji, zainstalowanego oprogramowania itp.

Projekt SYDI rozwiązuje ten problem w 100%

Projekt bazuje na skryptach VBS, a dla Linuxa na Pythonie.

Po określeniu nazwy kontrolowanej maszyny i uruchomieniu skryptu generowany jest plik w formacie MS Word’a ze szczegółowym opisem stanu serwera; zarówno sprzętowym jak i zainstalowanym oprogramowaniem. Może nam to służyć do dokumentacji konfiguracji maszyn.

W pliku sydi-server-Automation_1_2 umieściłem dodatkowy skrypt, który pozwala na skontrolowanie wielu maszyn po jednorazowym uruchomieniu skryptu CreateSydiReports.cmd.

Plik należy rozpakować w folderze, w którym znajduje się Sydi. Ustalić w pliku computerlist.dat nazwy kontrolowanych maszyn, w pliku SydiReportExec.cmd zmienić folder docelowy oraz zaREMować/odREMować linijki odpowiedzialne za format daty i uruchomić.

Po kilku/nastu minutach w folderze pojawią się pliki z raportami.

Uwaga – działa tylko na maszynie z zainstalowanym programem MS Word.

ERRORLEVEL zawsze ZERO (0) – polecenie DEL (ERASE)

W systemie Windows XP powłoka poleceń cmd.exe posiada błąd, który powoduje, że polecenie DEL (ERASE) zawsze zwraca ERRORLEVEL=0, niezależnie od wyniku działania polecenia.

Przykładem może być skrypt:

DEL nieistniejacy_plik

ECHO %ERRORLEVEL%

pause

 

Należy go zapisać w pliku costam.cmd i uruchomić

Pojawi się błąd:

Nie można odnaleźć c:\Winap\xcorder\nieistniejacy_plik.
oraz kod błedu:
c:\Winap\xcorder>ECHO 0

Jak widać ZERO, mimo niepowodzenia.

I niestety, mimo zapewnień w tym artykule http://support.microsoft.com/kb/158358, polecenie nie działa jak należy.

Na pewno dotyczy to systemów Windows XP i Vista – w pozostałych jeszcze sprawdzę.

This database is currently being used by someone else.

Jeżeli w trakcie pracy z Lotus Notes pojawi się błąd:

“This database is currently being used by someone else. In order to share a Notes database, all users must use a Notes Server instead of a File Server.”

To na 100% baza danych jest zablokowana przez dwa procesy.

Bywa, że jest to program do backupu, ale zdarza się, że blokuje ją serwis odpowiedzialny za HTTP.
Należy w tym przypadku w konsoli serwera Lotus Notes wykonać polecenia:

TELL HTTP QUIT

a po chwili:

LOAD HTTP

Teraz powinno już wszystko działać.

PS. Jeżeli po awarii serwera Lotus Notes, serwer zacznie sprawdzać wszystkie bazy to nie uruchamiaj ręcznie polecenia “load fixup” lub innego blokującego bazę, nie powinien próbować korzystać w tym czasie z Webmaila itp. Serwer w zasadzie blokuje plik i nie pozwala na jego wykorzystanie przez inny proces ale “cuda” zawsze się zdarzają.

Podstawowa zasada: Użytkownik MUSI “odstać” swoje.

VMWare ESX 4 – włączenie SSH Root Login

Korzystając z programu Veeam FastSCP dobrym pomysłem jest włączenie na serwerze VMWare opcji: PermitRootLogin z “no” na “yes”.

Pozwala to na bezpośredni dostęp do systemu plików hosta, a co za tym idzie szybszy transfer plików.
Należy zalogować się na konsoli serwera ESX i wykonać poniższe polecenie: (każda nowa linijka zaczyna się znakiem “>” – należy go pominąć przy wpisywaniu)

> mv /etc/ssh/sshd_config /etc/ssh/sshd_config.orig
> cat /etc/ssh/sshd_config.orig | sed ‘s/PermitRootLogin no/PermitRootLogin yes/g’ > /etc/ssh/sshd_config
> service sshd restart

Po poprawnym wykonaniu pleceń transfer można dokonać bezpośrenio przez Hosta ESX. Pozwala to zwięksyzć transfer nawet dwukrotnie.

Zasób Storage znajduje się w katalogu: /vmfs/volumes

ORA-01033: ORACLE initialization or shutdown in progress

Jeżeli pewnego pięknego dnia nie będziesz mógł podłączyć się do bazy danych, a sqlplus wypluje poniższy błąd:

ORA-01033: ORACLE initialization or shutdown in progress

Zastosuj następujące komendy:

z cmd.exe uruchom: sqlplus sys as sysdba

następnie z poziomu sqlplus:

shutdown abort;

startup nomount;

alter database mount;

alter database open;

tutaj może pojawić się error:

ERROR at line 1:
ORA-01113: file 6 needs media recovery
ORA-01110: data file 6: ‘C:\ORACLEXE\ORADATA\XE\PPS.DBF’

Należy wykonać polecenie:

recover datafile ‘C:\ORACLEXE\ORADATA\XE\PPS.DBF’;

i ponownie:

alter database open;

Po tym zabiegu baza powinna już wstać i działać bez problemu