Powershell 3.0 | Get-Help -Detailed -Examples liefert keine Ergebnisse

Problem :

Powershell 3.0 liefert keine anderen Ergebnisse bei Get-Help Get-Service -Detailed oder Get-Help Get-Service -Detailed , dies liegt an der fehlenden Übersetzung der Help Files. Update-Help muss auf englisch ausgeführt werden. Get-Service habe ich hier nur als Beispiel verwendet.

Lösung :

Einmal
Update-Help -UICulture "en-us"
ausführen und man erhällt zwar ein deutsch/englisch Mischmasch aber dafür alle Informationen.

Funktion um Logfile zu schreiben für die Powershell

Man möchte in der Powershell ein Logfile schreiben und dies immer mit Datum & Zeit versehen.

Hier meine Funktion dazu :


###################################
# Function to write Logfile
###################################
function write_log ($Inhalt)
{
$FileExists = Test-Path $LogFile
    $DateNow = Get-Date -Format "dd.MM.yyyy HH:mm" # Ermittelt das aktuelle Datum mit diesem Syntax 01.10.2013 10:00
    $FileInp = $DateNow + ' | ' + $Inhalt                          # Setzt die Zeile für unser Logfile zusammen
    If ($FileExists -eq $True){ # Wenn dir Datei existiert reinschreiben
        Add-Content $LogFile -value $FileInp  # Zeile hinten an die vorhanden Einträge anhängen
    } else {
       New-Item $Logfile -type file # Wenn dir Datei nicht existiert anlegen
       Add-Content $LogFile -value $FileInp # und reinschreiben
    }
}



Die Variable $Logfile muss natürlich definiert werden.

z.B. $Logfile = "C:\Skripte\logs\test.log"

Check_MK Plugin | LOCAL Check ! | Linux Updates

Ich habe hier als Server Überwachung Check_MK am laufen , die Serverüberwachung bringt die Möglichkeit mit Windows Systeme auf Updates zu überprüfen. Diese Funktion habe ich für Linux Systeme vermisst und habe einen local Check für Debian geschrieben der die selbe Aufgabe übernimmt.

eine Datei anlegen mit folgendem Inhalt z.B. debian_updates.sh


#!/bin/bash
LOGPATH=`dirname $(readlink -f ${0})`
LOGFILE=debian_updates.log
LOGFULL=$LOGPATH/logs/$LOGFILE
DEBVER=`cat /etc/debian_version`
TNOW=$(date "+%s");
STATUS=0

function Get_Updates {
         apt-get update > /dev/null 2> /dev/nul
         AVUP=`apt-get dist-upgrade -qq -y -s |  grep -c '^Inst '`
         AVPACK=`apt-get dist-upgrade -qq -y -s |  awk '/^Inst / { print $2 }' | sed ':a;N;$!ba;s/\n/ /g'`
         AVUPA=$(($AVUP + 1));
         AVUP=$(($AVUPA - 1));
         if [ $AVUP != 0 ]; then
              STATUS=1
              STATUSTXT="$AVUP Updates ( Debian Version : $DEBVER )__ $AVPACK"
         else
              STATUS=0
              STATUSTXT="System ist auf dem aktuellsten Stand ( Debian Version : $DEBVER )"
         fi

        echo "$STATUS Debian_Update - $STATUSTXT" > $LOGFULL
        echo "$STATUS Debian_Update - $STATUSTXT"
}


if [ -e $LOGFULL ];
   then
   TDATEI=$(stat -c %Z $LOGFULL);
   ALTER=$(($TNOW - $TDATEI));
   MAXALTER=86400;      # ---- Berechnet sich wie folgt 24*60*60=86400 Sekunden
                if [ $ALTER -gt $MAXALTER ];
                        then
                        Get_Updates
                        else
                        while read line; do
                                echo $line
                        done < $LOGFULL
                        exit;
                fi
   else
        Get_Updates
   fi

exit



die Datei ausführbar machen mit chmod u+x Dateiname und dann in /usr/lib/check_mk_agent/local/ kopieren. Ein Unterverzeichnis mit dem Namen logs anlegen und einen Full Scan auf die Maschine ausführen. Ab dann werden die Updates auch in der Serverüberwachung angezeigt.

z.B. keine Updates



z.B. Updates stehen zur Installation

Owncloud & Netzwerkfreigabe

Problem :

In unserer Firma setzen wir Owncloud 5.0.5 ein um die Daten in Echtzeit den Außendienstmitarbeitern zur Verfügung zu stellen. Über einen Sync Agent wäre dies auch zu realisieren allerdings würde dann der Ordner immer komplett auf die lokale HDD gesynct werden, was Speicherplatz auf den Clients benötigt. Ich habe das Problem über einen lokalen Mount realisiert und die Daten werden in Echtzeit in die Cloud übertragen. Das Beispiel erklärt anhand eines Debian 6 eine Einrichtung des Systems

Lösung :

Ich gehe hier davon aus das eine funktionierende Owncloud Installation auf dem Server vorhanden ist.

Zusätzlich benötigte Packete auf dem Debian Server sind : samba davfs2

diese können einfach mit dem Befehl apt-get install samba davfs installiert werden.

Nach der Installation der Packete kümmern wir uns darum den WebDav Share einzubinden. Dazu öffnen wir mit einem Editor die Datei /etc/fstab

nano /etc/fstab hier tragen wir die benötigten Informationen zum WebDav ein.
https://SERVER/owncloud/remote.php/webdav/ /mnt/WEBDAV davfs rw,noauto 0 0

Damit der automatische Mount auch funktioniert benötigen wir die Zugangsdaten , bei Debian basierenden Systemen kann man das leider nicht in der Datei ~/.davfs2/secrets machen
sondern muss dies in der Datei /etc/davfs2/secrets erledigen.

Also wieder den Editor öffnen und die Daten eintragen nano /etc/davfs2/secrets

Einen Eintrag nach diesem Muster erstellen :

https://SERVER/owncloud/remote.php/webdav/ BENUTZER PASSWORT


Nun sind die Zugangdaten und der Mountpoint festgelegt jetzt erstellen wir noch den Mountpoint mit mkdir /mnt/WEBDAV ab jetzt sollte ein mount /mnt/WEBDAV funktionieren allerdings muss das Zertifikat noch bestätigt werden. Das habe ich für mich mit einen kleinen Skript erledigt.

Mounten des Webdav Shares (webdavmount.sh) :

#!/bin/bash

echo j | mount /mnt/WEBDAV


Unmounten des Webdav Shares (webdavunmount.sh) :

#!/bin/bash

/etc/init.d/samba stop
umount -f /mnt/WEBDAV
/etc/init.d/samba start

beim umount ist darauf zu achten das samba beendet wird da sonst der Ordner offene Bezüge hat

Ab jetzt kann man eine Samba Freigabe auf /mnt/WEBDAV machen und die Daten sind in Echtzeit in der Cloud verfügbar.

Quellen :

Webdav Ubuntuusers
Owncloud
Samba Freigabe

Backup Exec 2012 - VSS-Snapshotwarnung

Problem :

Ein Backup Auftrag wird immer mit Warnungen beendet.

VSS-Snapshotwarnung : Datei [Pfad und Name der Datei] ist im Snapshot nicht vorhanden


Lösung :

Bei mir war dieses Verhalten auf eine Fehlerhafte deinstallation der Software zurückzuführen. Die Dateien selbst wurden gelöscht allerdings nicht der Verweis unter
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\PnpLockdownFiles nachdem ich der Administratorgruppe Vollzugriff
auf diesen Schlüssel gewährt hatte konnte ich die Verweise ohne Probleme löschen. Dannach war dieser Fehler behoben.
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)