Schlagwort-Archive: Script

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.

Bei ssh Verbindungen werden die Kennworte lesbar dargestellt

Problem:
Wenn man beim Kunden sitzt und sich per ssh auf einen Server verbindet, möchte man in der Regel nicht, dass die eingegebenen Kennworte lesbar dargestellt werden.

Bei folgenden Beispielen ist dies aber der Fall:

Beipiel1:
ssh benutzer@server ‚mysql -u benutzer -p‘

Beispiel2:
ssh benutzer@server „sudo ls“

In der jetzt kommenden Kennwortabfrage  wird in beiden Fällen das Kennwort gut lesbar angezeigt.

Lösung:
Um die Passworteingabe wieder zu verstecken, muss man lediglich die Option ‚-t‘ mitgeben.  Also:
ssh -t benutzer@server ‚mysql -u benutzer -p‘
bzw.
ssh -t benutzer@server „sudo ls“

Dadurch wird die Kennworteingabe wieder „unsichtbar“ gemacht.

In dem Manpages zu ssh findet man folgende Beschreibung:
-t      Force pseudo-terminal allocation.  This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g. when
             implementing menu services.  Multiple -t options force tty allocation, even if ssh has no local tty.

Normalerweise wird bei einer ssh-Verbindung kein Pseudoterminal geöffnet, welche die Ein- und Ausgabe mit einem Prozess verbindet.
Daher werden die Kennworteingaben auch nicht maskiert.

Wenn man das dauerhaft haben möchte, ohne jedes Mal das ‚-t‘ eingeben zu müssen, kann man die ‚~/.ssh/config‘ entsprechend bearbeiten. Mehr dazu ist in den Manpages zu lesen:
man 5 ssh_config im Bereich RequestTTY

Linux: Plattenplatz überwachen ohne Nagios/Icinga

Manchmal benötigt man eine Benachrichtigung über den Plattenplatz, ohne ein großes Monitoring Tool wie Nagios/Icinga zur Verfügung zu haben.
Im konkreten Fall war es eine Linux-Appliance, die nach und nach die Systemplatte vollgeschrieben hat.
Leider war hier Icinga nicht nutzbar, da man auf dem System kein snmpd oder die Nagios Clients installieren konnte.

Lösung:
Auf dem Server (Debian) konnte der Konsolen-Mailer „mail“ installiert werden.

  1. Falls nicht schon vorhanden, den ‚mail‘ Konsolenclient installieren
    apt-get install mailutils
  2.  Exim konfigurieren, damit die Mails auch ausserhalb des Systems empfangen werden können:
    dpkg-reconfigure exim4-config
  3. Jetzt benötigen wir noch ein kleines Script:
    vi diskmailer
    Und dann folgenden Text einfügen:

    #!/bin/bash
    CURRENT=$(df / | grep / | awk '{ print $5}' | sed 's/%//g')
    THRESHOLD=90
    
    if [ "$CURRENT" -gt "$THRESHOLD" ] ; then
        mail -s 'Disk Space Alert' mailid@domainname.com << EOF
    Der Plattenplatz deiner root Partition läuft voll. Verwendet: $CURRENT%
    EOF
    fi

    Erklärung:

    Mit CURRENT und TRESHOLD werden zwei Variablen erzeugt, bzw. gesetzt.
    Bevor man das Script einsetzt, kann man die Funktion für die Variable CURRENT überprüfen, in dem man den Befehl in den Klammern in der Shell absetzt:

    df / | grep / | awk '{ print $5}' | sed 's/%//g'

    Dabei sollte jetzt eine ganze Zahl gezeigt werden. Das sind die belegten Prozent der root Partition ‚/‘
    Man kann natürlich auch andere Partitionen so überwachen.
    Mit THRESHOLD gibt man die Warnschwelle an, ab der eine Mail gesendet werden soll. Die Zahl entspricht der belegten Prozent der Partition. Also 90 für eine 90% volle Partition.

    Mit der ‚if‘-Bedingung wird jetzt geprüft, ob die Warnschwelle erreicht wurde:

    if [ "$CURRENT" -gt "$THRESHOLD" ] ; then

    Also wenn der Wert für CURRENT größer ist (-gt) als der Wert für THRESHOLD, dann führe den Mail-Teil aus.
    Der weitere Teil des Scripts ist mehr oder weniger selbsterklärend. Dort wird dann der Betreff (Subject), der Empfänger und der Inhalt der Mail angegeben.

  4. Das Script kann man jetzt z.B. nach /etc/cron.daily legen.
    Nicht vergessen:
    Mit ‚chmod +x‘ ausführbar machen und keine Endung wie ‚.sh‘ in dem Verzeichnis verwenden.
  5. Alternativ kann man das Script auch woanders ablegen und als cronjob laufen lassen.

Hoffe es hilft …

Script-Quelle: linuxjournal

Ubuntu: Shellscript per Doppelklick starten

Eigentlich eine ganz banale Angelegenheit:

In einem Ordner liegen mehrere Scripte, die man gelegentlich ausführen muss.
In alten Ubuntu/Lubuntu Versionen konnte man per Doppelklick ein Script starten und nach einer Bestätigung wurde es dann ausgeführt.

In aktuellen Versionen ist es momentan so, dass man Scripte per Doppelklick lediglich mit anderen Anwendungen öffnen kann. Also z.B. im Editor.

Lösung:

Variante1:
Um das alte Systemverhalten wieder als default zu setzen, öffnet man ein Terminal-Fenster und gibt folgendes ein:
gsettings set org.gnome.nautilus.preferences executable-text-activation ask

Folgende Parameter sind möglich:
ask      = Nachfragefenster, bei dem man die Ausführung bestätigen muss
launch = Ausführung ohne Nachfrage
display = Scriptinhalt wird angezeigt

Variante 2:

Sofern man Nautilus verwendet, geht man auf die Einstellungen (Zahnrad –> Preferences) und dort auf den Karteireiter ‚Behavior‘.
Dort gibt es den Bereich ‚Executable Text Files‘ – hier wird festgelegt, wie sich Nautilus bei ausführbaren Scripten verhält.
Hier gibt es auch wieder die Punkte, die ich in Variante 1 schon genannt habe.
Ich habe da die Nachfragen wieder eingedreht.

Nautilus Preferences