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ę.

Narzędzia administracji zdalnej serwera (RSAT) dla systemu Windows 7 – Błąd podczas instalacji

Jeżeli podczas instalacji “Narzędzia administracji zdalnej serwera dla systemu Windows 7” pojawi się błąd mówiący, że “Ta aktualizacja nie ma zastosowań dla tego komputera“, to należy sprawdzić, którą DOKŁADNIE wersję Windows 7 posiadamy.

Cytat z polskiej wersji strony MS (to ważne):

**Narzędzia administracji zdalnej serwera dla systemu Windows 7 można zainstalować TYLKO na komputerach z systemem Windows 7 w wersji Enterprise, Professional lub Ultimate.**

I to jest połowa racji, gdyż w wersji angielskiej tego samego artykułu jest napisane:
**Remote Server Administration Tools for Windows 7 can be installed ONLY on computers that are running the Enterprise, Professional, or Ultimate editions of Windows 7. This software CANNOT BE INSTALLED on computers that are running Windows 7 with Service Pack 1 (SP1). To run Remote Server Administration Tools for Windows 7 on a computer on which you want to run Windows 7 with SP1, first install Remote Server Administration Tools, and then upgrade to Service Pack 1.**

Czyli, oprócz tego co jest napisane w wersji polskiej, tutaj dodatkowo mamy informację, że dodatek ten nie może być zainstalowany gdy nasz Windows 7 jest podniesiony do wersji SP1.

Rozwiązanie: Odinstalować dodatek SP1 do Windows 7 (oznaczony jako KB976932), zainstalować powyższą poprawkę i ponownie zainstalować dodatek. Jeżeli SP1 nie mamy na dysku wystarczy uruchomić Windows Update – do ściągnięcia pozostaje nam co najmniej 500 MB.

PS. Dzwoniłem na Infolinię MS w tej sprawie. Jakież było moje zdziwienie, gdy dowiedziałem się, że ta poprawka dotyczy systemów serwerowych i jest PŁATNA. Bezpłatna jest tylko informacja na stronach internetowych MS. Nie dałem za wygraną, gdyż nie bardzo mogłem pojąć dlaczego MS chce pieniądze za własne błędy. Owszem, informacja takowa znajduje się na ich stronach ale tylko w j. angielskim. Ja żyję w Polsce, posiadam system Windows 7 w wersji polskiej, a tu zdziwko, bo technicy z MS używają wersji angielskiej.

A żeby było jeszcze lepiej. Mam kupioną wersję Windows 7 Ultimate BOX. Posiada ona dwie płytki 32 i 64 bit. W wersji 32-bit ten dodatek miałem zainstalowany domyślnie, po zakupie nowego sprzętu i reinstalacji systemu na 64-bit dodatek ten “wyparował”.

 

Lotus Notes – kill all LN processes

Jeżeli program Lotus Notes zawiesi się w trakcie swej pracy, to zwykle nie pozwala na powtórne jego uruchomienie aż do kolejnego przelogowania użytkownika.
Problemem jest to, że działają inne procesy lotusowe. Rozwiązaniem jest ubicie wszystkich procesów, a mogą być różne, które mają wspólną ścieżkę uruchomienia: właściwość ExecutablePath procesu.
Poniżej prezentuję skrypt VBS, jedynie zmodyfikowany przeze mnie.
Po uruchomieniu pojawia się okno, w którym określamy maszynę. Jeżeli jest to lokalna maszyna, wystarczy wpisać znak kropki “.”.
Można także użyć adresu IP.
' ProcessKillRemote.vbs
' Sample VBScript kill process
' Author Guy Thomas http://computerperformance.co.uk/
' Modified by Ogre2000
' Version 1.0 - March 2011
' ------------------------ -------------------------------'
Option Explicit
Dim objWMIService, objProcess, colProcess
Dim strComputer, strProcessPath, strInput, strProcessList
'strProcessPath = "'C:\\winap\\ghost11\\%'"
strProcessPath = "'C:\\Program Files\\lotus\\notes\\%'"
' Input Box to get name of machine to run the process
Do
strComputer = (InputBox(" Podaj nazwę komputera" & vbCr & "Dla lokalnego komputera wpisz znak kropki .",_
"Computer Name"))
If strComputer <> "" Then
strInput = True
End if
Loop until strInput = True
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colProcess = objWMIService.ExecQuery _
("Select * from Win32_Process Where ExecutablePath Like " & strProcessPath)
For Each objProcess in colProcess
objProcess.Terminate()
strProcessList = strProcessList & objProcess.Name & vbCr
Next
WSCript.Echo "You killed: " & strProcessList _
& " on " & strComputer
WScript.Quit
' End of WMI Example of a Kill Process

Gotowy skrypt do ściągnięcia tutaj: KillLotusNotes

Backup karty Flash

Jeżeli używasz jakiegoś urządzenia wyposażonego w kartę flash i chciałbyś robić okresowo jej kopię to proponuję rozwiązanie, które jest niezależne od litery dysku, który zostanie przyznany karcie. Backup opiera się głównie na jej numerze seryjnym.

Potrzebny będzie także program Robocopy. Zdaje się, że od systemi MS Vista i nowszych jest zainstalowany razem z systemem, gdyby go jednak nie było polecam ten link Windows Server 2003 Resource Kit Tools lub każdy inny Resource Kit Tools.

Skrypt kopiujący wygląda następująco:

Option Explicit
Dim FlashDriveSerial
FlashDriveSerial = "1B41678D"
Dim WshShell,FSO,Drv
Dim Dname,Dserial,Dinfo
Dim wshSystemEnv
Set WshShell=WScript.CreateObject("WScript.Shell")
Set FSO=CreateObject("Scripting.FileSystemObject")
For each Drv in FSO.Drives
If Drv.IsReady Then
 If Hex(Drv.SerialNumber) = FlashDriveSerial Then
 Dinfo=Drv.DriveLetter
 WShShell.Run "robocopy.exe "& Dinfo&":\ .\GPX_BACKUP /LOG+:GARMINVISTA_SYNCH.log", 6, True
 End If
End If
Next

Jedyne zmiany które trzeba wprowadzić to numer seryjny karty flash oraz ścieżki do folderów z danymi, zarówno źródłowym jak i docelowym.

Numer seryjny można obejrzeć uruchamiając inny skrypt, ze strony Bill’a James’a pod tytułem: Get Information About Your Drives. Ewentualnie dostępny jest u mnie: DriveInfo.
Skrypt pokazuje wszystkie napędy, a nas interesuje tylko jeden. Sprawdzamy pod jaką literą dysku znajduje się aktualnie zamontowany flash drive i z tego dysku przypisujemy pole Serial Number do zmiennej FlashDriveSerial.

W linijce:
WShShell.Run “robocopy.exe “& Dinfo&”:\ .\GPX_BACKUP /LOG+:GARMINVISTA_SYNCH.log”, 6, True
Ustawiamy odpowiednio ścieżki do folderów i uruchamiamy skrypt.
Więcej o ustawieniach ścieżek i parametrów programu Robocopy: “Robocopy.exe /?”

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

Informacje ze świata GPS i Informatyki