Schlagwort-Archive: Batch

Windows Update im Griff: ABC-Update

Ich war lange Zeit auf der Suche nach einem Tool, mit dem ich den Windows Update Prozess etwas besser im Griff haben kann.

Lange habe ich mit dem WSUShelper von Wolfgang Fuehrer gearbeitet, allerdings benötige ich zur Ergänzung noch ein Tool, mit dem ich den Update Prozess sofort starten kann.

Hier setzt jetzt das Tool ABC-Update an, welches von Flemming Varmer kostenlos zur Verfügung gestellt wird.

Mit diesem Tool kann man die Updates entweder direkt von Microsoft holen

 ABC-Update.exe /A:Install 

oder von einem WSUS-Server, den man im eigenen Netz hat

 APC-Update.exe /S:WSUS /A:Install /R:N 

(Installiert alle verfügbaren, aber noch nicht installierten Updates ohne Reboot)
Interessant ist auch, dass man für den WSUS Server unterschiedliche Ports angeben kann (also Port 80 oder 8530).

Hier noch die Übersetzte Beschreibung des Programmes von der Webseite:

ABC-Update
ist ein einfach zu bedienendes Tool, mit dem Sie die Kontrolle über MS-Update-Vorgänge behalten.

Mit ABC-Update erhalten Sie die Updates genau dann, wenn Sie sie benötigen, und können auch maximale Neustarts definieren, Filteroptionen verwenden, um Updates anhand von Patchdaten, KB-Artikeln und Update-Kategorien auszuwählen.
Das Tool hat eine GUI- und eine Kommandozeilenversion und ermöglicht es Ihnen, Update-Operationen auch dann zu skripten, wenn Sie diese benötigen. Da Sie das Tool auch von der Kommandozeile aus aufrufen können, ist es gut geeignet für die Verwendung mit Software-Verteilungstools wie ABC-Deploy, MS SCCM und anderen.

Sie haben die Kontrolle. Kein Warten mehr auf automatische Updates.
Getestet OK von Windows XP/2003 und höher

Diese Lücke zwischen dem, was Microsoft direkt nach dem Auspacken anbietet, und dem, was viele Administratoren wirklich wollen, ist das, was das ABC-Update-Tool ausfüllen soll.

 

ECHO‘ is not recognized as an internal or external command,

Hin und wieder verwende ich zum Bearbeiten von Scripts die Software „Visual Studio Code“. Schlicht und ergreifend, weil ich diesen Editor umstellen kann, sodass der Hintergrund dunkel ist, was für die Augen ganz angenehm ist.

Wenn man allerding mit Code ein neues Batchfile erstellt, kann es passieren, dass man beim späteren Ausführen auf folgenden Fehler stösst:

C:\Windows\system32>´++@ECHO OFF
‚´++@ECHO‘ is not recognized as an internal or external command, operable program or batch file.

Nach einigem Gesuche bin ich dann schnell auf die Ursache gestossen:
Microsoft Visual Code verwendet utf-8 als Standardcodierung. Somit ist das Batch nicht richtig lesbar.
Abhilfe schafft man dadurch, dass man das Batch mit Notepad öffnet und bei „Speichern als…“ die Codierung auf ANSI umstellt.

ANSI Echo offBeim Öffnen bestehender Batchfiles habe ich das Problem noch nicht gehabt.
Wenn man möchte, kann man das umgehen, indem man in „Visual Studio Code“ die Standardcodierung umstellt:
Unter Files –> Preferences –> Settings findet man folgenden Eintrag:

// The default character set encoding to use when reading and writing files.
„files.encoding“: „utf8“,

Hat man die Zeile ausgewählt, kann man links auf ein Stiftsymbol klicken und hat dann die Auswahl aus den einstellbaren Zeichensätzen.

Windows: Uptime anzeigen

Will man sich nur die Startzeit des Systems anzeigen lassen, tippt man in der Commandline einfach ’starttime‘ ein.
Kein Schnick, kein Schnack, kein Taskmanager usw.

Ich habe mir jetzt folgendes Batch erstellt und in C:\Windows\System32\EigeneBatches gespeichert:

@echo off
:: Autor:            Peter Maier
:: Datum:            17.06.2016
:: Dateiname:        starttime.bat
:: Beschreibung:    Zeigt die Startzeit eines PCs an. 
:: Verwendung:        cmd --> starttime
:: Abhängigkeiten:    Bordmittel
:: Quelle:             http://www.psteiner.com/2013/05/windows-uptime.html
::#######################################################
:: Variablen
:: Funktionen
:: Eigentliches Script
:: englisches Windows
:: for /f "tokens=1,2,*" %%i in ('net statistics workstation ^| find "since"') do @echo %COMPUTERNAME% up since %%k
::deutsches Windows
for /f "tokens=1,2,*" %%i in ('net statistics workstation ^| find "seit"') do @echo %%k

Ich habe den ursprünglichen Teil für ein englisches Windows mal drin gelassen. Sollte es nicht funktionieren, muss man ggfs. einfach mal ’net statistics workstation‘ auf der Kommandozeile ausführen.
Dann hat man schon mal die Info, welche Informationen es hier gibt.
Im deutschen Text steht in der Zeile z.B.

Statistik seit 22/06/2016 13:56:21

Wenn man es sich in der System32 ablegt oder eine PATH Variable auf das passende Verzeichnis setzt, kann man nun einfach ’starttime‘ eingeben und bekomt die gewünschte Info.

Linux: SSD und fstrim

Setzt man in einem Linux Rechner SSD-Platten ein, stolpert man früher oder später über das Thema TRIM.
Kurz gefasst kann man sagen, dass es bei der Trim-Thematik darum geht, dass ungenutzte Speicherbereiche der Platte wieder freigegeben werden.
Das passende Tool dazu ist fstrim. Originaltext:

fstrim is used on a mounted filesystem to discard (or "trim") blocks which are not in use by the filesystem.  This is useful for solid- state drives (SSDs) and thinly-provisioned storage.

Bevor man nun in wilden Aktionismus verfällt: Don’t panic! 🙂
Die optimalsten Dateisysteme für SSDs sind momentan ext4 und btrfs.
Neuere Linux Distributionen (seit Linux 2.6.33) haben sich der Problematik bereits angenommen. So wird bei Ubuntu z.B.  seit Ubuntu 14.04 LT (Ubuntu 14.10 Quelle) wöchentlich ein Job ausgeführt, der die Speicherbereiche freigibt.
Der passende Job heißt /etc/cron.weekly/fstrim

Kann meine Platte damit umgehen?
Neuere Platten sollten das Verfahren grundsätzlich unterstützen. Wer auf Nummer sicher gehen will, kann prüfen, ob es die Eigenschaft bei seiner Platte gibt:

sudo hdparm -I /dev/sda | grep -i TRIM

Als Bestätigung sollte dann die Meldung „Data Set Management TRIM supported“. Wenn keine Rückmeldung kommt, ist TRIM bei dieser Platte nicht unterstützt.

Man kann bei seinem System auch folgendermaßen vorgehen:

Ist es schon aktiv?

sudo systemctl status fstrim.timer | grep enabled

Wenn nicht, schalten wir es ein:

systemctl enable fstrim.timer

Hier kann man noch mal ins Log schauen:

journalctl -u fstrim

Bei OpenSuse/Leap:
systemctl enable fstrim.service
systemctl start fstrim.service

Es gibt auch Ansätze ein eigenes Script laufen zu lassen, aber ich denke, dass sich das bei neueren Systemen bald erledigt hat.

 

Linux: Dateiliste mit ls und voller Pfadangabe

Gesucht war eine Auflistung aller Dateien eines Ordners mit absolutem Pfad

-rw-r–r–      1       root    root    0       2009-06-17 14:08 /tmp/test1/file1
-rw-r–r–      1       root    root    0       2009-06-17 14:08 /tmp/test1/file2
Hier ist die Lösung, die ich dazu gefunden habe:

find /tmp -type f -print0 | xargs -0 ls -laS | sed -r ’s#( +)#\t#1′ | sed -r ’s#( +)#\t#1′ | sed -r ’s#( +)#\t#1′ | sed -r ’s#( +)#\t#1′ | sed -r ’s#( +)#\t#1′ | sed -r ’s#( +)#\t#3′

 

Ergebnis:

-rw-r–r–      1       root    root    0       2009-06-17 14:08 /tmp/test1/file1
-rw-r–r–      1       root    root    0       2009-06-17 14:08 /tmp/test1/file2
-rw-r–r–      1       root    root    0       2009-06-17 14:08 /tmp/test1/file3
-rw-r–r–      1       root    root    0       2009-06-17 14:08 /tmp/test1/file4
-rw-r–r–      1       root    root    0       2009-06-17 14:08 /tmp/test2/file1
-rw-r–r–      1       root    root    0       2009-06-17 14:08 /tmp/test2/file2
-rw-r–r–      1       root    root    0       2009-06-17 14:08 /tmp/test2/file3
-rw-r–r–      1       root    root    0       2009-06-17 14:08 /tmp/test3/file1
-rw-r–r–      1       root    root    0       2009-06-17 14:08 /tmp/test3/file2
-rw-r–r–      1       root    root    0       2009-06-17 14:08 /tmp/test3/file3

 

Beziehungsweise:

find /tmp -type f -print0 | xargs -0 ls -laS | sed -r ’s#\S+\s+\S+\s+\S+\s+\S+\s+(\S+)\s+(\S+\s+\S+\s+\S+)\s+(.*)#\1\t\2\t\3#‘
als etwas kürzere Variante  🙂

 

gefunden habe ich das hier:
http://www.fedoraforum.de