Schlagwort-Archive: cmd

Logrotate für Windows

Das Problem:
Auf einem Windows Server erzeugt eine Software diverse Logfiles. Ab einer Größe über 10 MB bekommt der Systembetreuer eine Mail, dass die Datei zu groß wird. Dieses Logfile hat aber nur informativen Charakter und muss nicht aufgehoben werden.
Daher kann man es im Prinzip auf einfach löschen und neu erstellen.

Die Lösung wäre unter Linux einfach : Logrotate

Nach etwas Sucherei bin ich zunächst auf logwot8 gestoßen.
Was mich an diesem Tool allerdings stört ist, dass man da im Hintergrund ein Cygwin laufen hat. Ist mir für ein paar Logfiles zu viel Overkill 🙂

Umgesetzt habe ich das Ganze dann mit LogRotateWin.

Beschreibung:
„Eine Windows Implementierung des logrotate Tools, welches es auf Linux Platformen gibt. Das Ziel ist es die gleichen Kommandozeilenparameter wie die Linux Version zu verwenden.“

Für die Parameter schaut man am besten ins Wiki

Ich habe das bei uns jetzt so umgesetzt:

1. Download Logrotate
https://sourceforge.net/projects/logrotatewin/
https://sourceforge.net/p/logrotatewin/wiki/LogRotate/
2. Installation auf einen anderen PC – wir brauchen auf dem Server nur den Programmordner Logrotate, der unter C:\Program Files (x86) erstellt wird.
Deswegen führe ich die Installation auf einem anderen Rechner durch und kopiere das Verzeichnis.
Beim Test gab es Probleme mit den Berechtigungen, wenn das Programm unter C:\Program Files (x86)\LogRotate ausgeführt wird.
Ggfs. kann man das auch mit einem Tool extrahieren.

3. Auf dem Server das Feature .NET Framework 3.5 installieren, falls das nicht schon drauf ist.

4. Den gesamten Ordner „Logrotate“ nach „D:“ kopieren (bei diesem Server habe ich das mal auf D: gemacht).

5. Ein leeres Textfile mit dem Namen logrotate.status (ohne .txt !) anlegen. Und zwar direkt im Stammverzeichnis. Bei mir also D:\logrotate.status

6. Im Verzeichnis Logrotate\Content ein conf-File (z.B. schedule.conf) für das Logfile anlegen.
Inhalt der schedule.conf:
##########################
D:\Anwendungsname\logs\schedule.log {
rotate 5
size 10M
}
#########################

Erklärung:
Bei einer Größe von 10MB wird das Logfile gepackt und umbenannt nach „schedule.log.1.gz“
Das Ganze wird dann für 5 Versionen vorgehalten und dann wieder überschrieben.

7. In der Aufgabenplanung (Task Scheduler) einen neuen Job anlegen
Name: logrotate-schedule
Triggers: Daily 06:00
Actions: Start a program D:\LogRotate\logrotate.exe D:\LogRotate\Content\schedule.conf
Conditions:
Settings:

Besonderheiten für den Task:
„Run whether user is logged on or not“ und „Run with highest privileges“

Jetzt kümmert sich das System selbst um die Logs 🙂

Bevor man das Ganze in der Aufgabenplanung laufen lässt, sollte man das mal in der CMD (als Administrator) ausprobieren und schauen, ob man Fehlermeldungen sieht.

 

 

 

 

 

KMS (Key Management Server) im LAN finden

Wenn man einen KMS Server im Unternehmen sucht und die Dokumentation dazu nichts hergibt, kann man das schnell herausfinden.

Die CMD öffnen und folgenden Befehl eingeben:

C:\>nslookup -type=all _vlmcs._tcp

Die Ausgabe sieht dann so aus:
Server: dc.domain.de
Address: 192.168.x.x

_vlmcs._tcp.domain.de SRV service location:
priority = 0
weight = 0
port = 1688
svr hostname = license.domain.de
license.domain.de internet address = 192.168.x.x

SID zu User – User zu SID übersetzen.

Bei manchen Gelegenheiten benötigt man die Zuordnung von Benutzer zu SID.
Da Namen ja nur „Schall und Rauch“ sind, bezieht sich in Windows NT Systemen alles auf diese SID.

Also eine Variante:

Per whoami bekommt man ohne Parameter schlicht den Benutzernamen angezeigt:
C:\>whoami
domain\willi

Fügt man jetzt jetzt den Parameter „/USER“ hinzu, wird das Ganze schon informativer:
C:\>whoami /USER
USER INFORMATION
—————-
User Name     SID
============= ==============================================
domain\willi S-1-5-21-2071111111-172232323-1675865436-4567

Eine weitere Lösung ist es eine Abfrage über WMIC zu starten (WMIC – Take Command-line Control over WMI)

C:\>wmic useraccount where name=’willi‘ get sid
SID
S-1-5-21-2071111111-172232323-1675865436-4567

das Ganze geht auch anders herum:
C:\>wmic useraccount where sid=’S-1-5-21-2071111111-172232323-1675865436-4567′ get name
Name
willi

Damit hat man eine schöne Möglichkeit User nach SID und umgekehrt aufzulösen.

Und als letztes noch ein wenig Powershell:

User zu SID:
$objUser = New-Object System.Security.Principal.NTAccount(„DOMÄNENNAME“, „USERNAME“)
$strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
$strSID.Value

SID zu User:
$objSID = New-Object System.Security.Principal.SecurityIdentifier `
(„SID-HIER-EINTRAGEN“)
$objUser = $objSID.Translate( [System.Security.Principal.NTAccount])
$objUser.Value

Sophos Safeguard: Client has no connection to the enterprise server

Nach der Installation des Sophos SafeGuard Clients kann ein Client keine Verbindung zum Server herstellen.

SafeGuard-Client-Error

Folgende Punkte sollte man am Client testen (wobei <safeguardserver> der Name und/oder die Adresse des Servers ist):
– ping <safeguardserver>
– Im Browser die Seite http://<safeguardserver>/SGNSRV
Dabei sollte eine SafeGuard Webseite sichtbar sein.
– prüfen der System-Proxy Einstellungen:

Überprüfung der Einstellungen:

C:\Windows\SysWOW64\netsh.exe winhttp show proxyProxy WinHTTP CMD

Sollte dort ein falscher Eintrag stehen, dann muss das entsprechend angepasst werden.

C:\Windows\system32>netsh
netsh>winhttp
netsh winhttp>

Importieren der IE-Einstellungen als Systemproxy:
netsh winhttp>import proxy source=ie

Proxy Einstellungen anzeigen:
netsh winhttp>show proxy

Proxy Einstellungen zurücksetzen (es wird der Direktzugriff eingestellt):
netsh winhttp>reset proxy

Mehr Informationen zu dem Thema findet man im Technet

CMD: Feststellen, ob ein KB Patch installiert ist

Manchmal braucht man eine schnelle Möglichkeit, um zu prüfen, ob ein Microsoft KB Patch installiert ist. Statt jetzt die Systemsteuerung zu bemühen und sich durch zu klicken, kann man das ganze per Batch/cmd abfragen und ggfs. in eine Textdatei umlenken.

Lösung:
Windows Management Instrumentation Commandline

1. CMD als Administrator aufrufen

2. Folgenden Befehl mit der entsprechenden KB-Nummer eingeben:

wmic qfe list | find „KB3025390“

Ist das Patch nicht installiert, wird nichts weiter angezeigt.
Ist das Patch vorhanden, erhält man folgende Information:
http://support.microsoft.com/?kbid=3025390     LDL-0299  Security Update               KB3025390

Praktisch ist, dass man gleich den Link zum KB-Artikel dazu erhält. 🙂