Windows 8 Verwaltung

Bei Windows 8.1 findet man die System Verwaltung nicht mehr an gewohnter stelle, vorausgesetzt man hat kein Startmenü wie das von Classic Shell installiert, sucht man erst mal nach der Computerverwaltung oder den Systemeigenschaften. Zur Systemsteuerung geht es mit der Win + C Taste über die Charm Bar und Einstellungen, oder mit der Eingabe “Dieser PC” auf der Modern-UI Kacheloberfläche.

Modern-UI Dieser PC
Modern-UI Dieser PC

Mit dem erweiterten Menüband (Ctrl + F1) werden die System Optionen eingeblendet.

Menüband erweitern
Menüband erweitern

Über das erweiterte Menüband werden alle wichtigen Menüs wie, Netzlaufwerk verbinden oder die Systemsteuerung eingeblendet.

Explorer Dieser PC
Explorer Dieser PC

Um ein Netzlaufwerk zu verbinden geht es über die Win + E Taste direkt über den Explorer aus dem Menüband.

MSSQL Database Backup auf Synology DS

MS_SQL_Server_Logo
NAS als Backup Medium werden immer beliebter, flexible Anwendung und die Integration über iSCSI und Netzwerk Shares sind Vorzüge die teure LTO Tapes (Linear Tape Open) nicht bieten können, letztlich kommen Magnetbänder nur noch für die langzeit Archivierung zum Einsatz. Nicht zuletzt ist die Wiederherstellung mit Backups von NAS Speicher rasch und einfach vollziehbar.

In diesem Beispiel wird beschrieben wie eine MS SQL Datenbank auf einer Freigabe eines Synology NAS gesichert wird.

Die Freigabe muss für ein AD DS Benutzer mit dem Privileg schreiben eingerichtet sein, damit die automatische Sicherung des Maintenance Plan aus dem SQL Management Studio die Datenbank auf der NAS Freigabe direkt erstellen kann.

SQL Server Management Studio
SQL Server Management Studio

Zunächst werden die zu selektierenden Datenbanken auf Integrität geprüft.

Check Database Integrity Task
Check Database Integrity Task

Die ausgewählten Datenbanken werden auf den UNC Pfad \\10.10.10.10\data\SQLBackup geschrieben. Die IP ist hier das NAS, data die Freigabe welche im DSM unter Gemeinsame Ordner erstellt wurde, SQLBackup das Verzeichnis in dieses unser Backup kommt. Im Feld Backup file extension muss bak stehen, bei *.bak oder .bak wird kein Backup Image angelegt.

Backup Database Task
Backup Database Task

Nun wird der Verlauf mit den Logs auf 5 Tage begrenzt.

History Cleanup Task
History Cleanup Task

Zuletzt werden ebenfalls die angelegten Backup Images auf 5 Tage begrenzt, ansonsten der NAS Speicher irgendwann volllaufen würde.

Maintenance Cleanup Task
Maintenance Cleanup Task

Die Anzahl Backup Images kann natürlich nach bedarf und verfügbarer Kapazität des NAS ausgelegt werden.

Die gewünschte Backup Rotation definieren, damit der Job an den gewünschten Zeiten ausgeführt wird.

Job Schedule Properties
Job Schedule Properties

Hinweis
Es empfiehlt sich hinsichtlich günstiger Festplatten das NAS mit RAID1 anzulegen. Ebenfalls können über den USB Port am NAS weitere Sicherungen angelegt werden, diese mittels Externer USB Festplatten an weiter beliebigen Orte deponiert werden können, über die Synology Zusatz App Time Backup lassen sich zeitgesteuerte Kopien auf Externen Festplatten anlegen.

VBScript GetSID.vbs

Security Identifier, SID, ist ein eindeutiger Sicherheits-Identifikator, den Microsoft Windows automatisch vergibt, um jedes System, jeden Benutzer und jede Gruppe dauerhaft zu identifizieren.

Mit dem VBScript GetSID.vbs lassen sich die SID von Windows ausgeben.

'Description: Zeigt alle Benutzerkonten und SID
'Created on : Apr 5, 2010
'Prerequisite: Windows

Set WshShell = CreateObject("Wscript.Shell")
Set fso = Wscript.CreateObject("Scripting.FilesystemObject")
fName = WshShell.SpecialFolders("Desktop") & "\GetSID.txt"
Set b = fso.CreateTextFile(fName, true)
b.writeblanklines 1
b.writeline string(61,"*")
b.writeline "Benutzerkonten mit SIDs und Profile-Pfade."
b.WriteLine "GetSID.vbs - 2010 by Don Metteo"
b.WriteLine "http://www.lansys.ch"
b.writeline string(61,"*")
b.writeblanklines 1

strProfileBranch = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\"
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colAccounts = objWMIService.ExecQuery _
 ("Select * From Win32_UserAccount")

For Each objAccount in colAccounts
 If objAccount.Name = "HelpAssistant" or objAccount.Name = "SUPPORT_388945a0" then
 else
 b.writeline "Username : " & objAccount.Name
 b.writeline "SID : " & objAccount.SID
 b.writeline "Profile Path : " & GetHomePath(objAccount.SID)
 b.writeblanklines 1
 end if
Next

Function GetHomePath(strSID)
 On Error Resume Next
 GetHomePath = WshShell.ExpandEnvironmentStrings(Trim(WshShell.RegRead (strProfileBranch & strSID & "\ProfileImagePath")))
 On Error Goto 0
End Function

b.writeline string(61,"*")
b.close
WshShell.Run "notepad.exe " & fName

Set fso = Nothing
set Wshshell = Nothing

Nach dem Ausführen des Scriptes werden die SID im Notepad geöffnet.

GetSID.txt
GetSID.txt

VBScript whoami.vbs

Mit dem VBScript whoami.vbs wird die aktuelle IP-Adresse, der Computer und der Benutzername unter Windows ausgegeben.

' VBScript Source File Created for any
' NAME: whoami.vbs

Const HKCR = &H80000000
Const HKCU = &H80000001
Const HKLM = &H80000002
Const HKU = &H80000003

Set fs = CreateObject("Scripting.FileSystemObject")

'**********************************
'ComputerName aus Registry auslesen
'**********************************

s_Key = "SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName"

s_Wert = "ComputerName"
Set wmireg = GetObject("winmgmts:root\default:StdRegProv")

result = wmireg.GetStringValue(HKLM, s_Key, s_Wert, s_ComputerName)

'**********************************
'UserName aus Registry auslesen
'**********************************

s_Key = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"

s_Wert = "DefaultUserName"
Set wmireg = GetObject("winmgmts:root\default:StdRegProv")

result = wmireg.GetStringValue(HKLM, s_Key, s_Wert, s_UserName)

'*****************************************
'IPConfig Daten auslesen und echo ausgeben
'*****************************************

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set IPConfigSet = objWMIService.ExecQuery _
    ("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")

Set colAdapters = objWMIService.ExecQuery _
    ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")

For Each IPConfig in IPConfigSet
   If Not IsNull(IPConfig.IPAddress) Then
      For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
      ausgabe = Wscript.Echo ("IP Address " & IPConfig.IPAddress(i) & vbCrLf & "Computer " & s_ComputerName & vbCrLf & "Username " & s_UserName)
      Next
   End If
Next

Windows 10 Preview

Windows 10 kommt wieder mit Startmenü anstelle des Modern-UI beim Start.

Windows 10
Windows 10

Das Startmenü beinhaltet wieder wie die von Windows 7 bekannte Programm Liste mit dem Suchfeld, Rechts jedoch sind App Kacheln angeordnet, dort wo zuvor das Menü zur Systemsteuerung, Geräte und Drucker zu finden war. Mit Taste Windows + S erscheint nicht mehr das Modern-UI, sondern es wird das Startmenü geöffnet, auch die Hot Corners und die Charms Bar gibt es weiterhin. Über die Eigenschaften lässt sich das Startmenü und die Navigation anpassen, ebenso gibt es die Tasten Funktion Windows + X und C weiterhin.

Entgegen der Vermutung Windows 8.1 auf 10 könnte mit weiteren Neuerungen überraschen, wird mit der Preview Version jedenfalls ernüchtert sein, fast alles ist wie von Windows 8.1 her bekannt an gewohnter stelle zu finden. Immerhin kann man sagen das Microsoft weiter auf dem richtigen Weg ist, und die rufe der Anwender nach dem gewohnten Startmenü erhört hat.

Exchange Zertifikatstatus konnte nicht ermittelt werden

Bei der Erstellung eines Zertifikates unter Exchange 2010 erscheint möglicherweise folgender Hinweis.

Der Zertifikatstatus konnte nicht ermittelt werden, da die Sperrungsüberprüfung  keinen Erfolg hatte.

Symptome
Zertifikat kann nicht abgeschlossen werden. Exchange Dienste können nicht zugeordnet werden.

Lösung
Damit die Sperrlisten-Verteilungspunkte eines PKI (public key infrastructures) Ausstellers erreichbar werden, muss die Firewall den Zugang zur URL der certificate revocation list (CRL – RFC 3280) erlauben. Bei UTM (Proxy Content Filter) ist darauf zu achten das der Download der CRL nicht blockiert wird. Die URL zur certificate revocation list erhält man durch öffnen des Zertifikates und Details.

Sperrlisten-Verteilungspunkte
Sperrlisten-Verteilungspunkte

Durch Aufruf der URL aus dem Browser wird die CRL geöffnet.

Zertifikatsperrliste
Zertifikatsperrliste

Auch kann es erforderlich sein, das die Proxy Einstellung des Servers geändert werden muss, dies geschieht mit folgendem Befehl aus einer als Administrator geöffneten Eingabeaufforderung.

netsh winhttp rpoxy
netsh winhttp proxy
netsh winhttp set proxy proxy-server="http://router-ip:80" bypass-list="*.domain.local"

# Proxy Einstellung überprüfen
netsh winhttp show proxy

# Proxy Einstellung zurücksetzen (Zeilenweise)
netsh
winhttp
reset proxy

Nach Umsetzung und Sicherstellung der Erreichbarkeit der CRL erscheint in der EMC das Zertifikat als gültig.

Zertifikatstatus
Zertifikatstatus

Exchange Sicherheitszertifikat stimmt nicht mit Namen der Webseite überein

Möchte man Outlook 2010/2013 mit der AutoErmittlung (Outlook Anywhere) automatisch konfigurieren, und das Postfach auf einem Exchange 2010/2013 liegt, wird man nach der Installation folgenden Sicherheitshinweis erhalten. exchange_logo

sicherheitshinweis

Dies liegt oft daran das kein Zertifikat vorliegt, welches von Microsoft Active Directory Certificate Services (AD CS) ausgestellt wurde.

Problembeschreibung
Nachdem ein neues Zertifikat von einer root CA Zertifizierungsstelle beim Exchange-Server importiert wurde, kann es zu Fehlermeldungen beim Start bei den Outlook Clients kommen.

Im Sicherheitshinweis Fenster sehen wir in der ersten Zeile, dass sich unser Exchange-Server mit seinem internen FQDN “exchsrv.domain.local” meldet. Ebenfalls gibt uns die Meldung die Information, dass das Zertifikat ungültig ist oder die Namen nicht übereinstimmen.

Symptome
Outlook oder das Mobiltelefon können nicht konfiguriert werden.

Outlook hat die Suche nach den URLs für die Autodiscover-Informationen Hardcodet und wird in folgender abfolge durchlaufen:

Autodiscover Lookup Reihenfolge
Autodiscover Lookup Reihenfolge

Wenn nun die nötigen DNS-Records fehlen oder keine der definierten URLs aus dem Internet erreichbar sind, kann Autodiscover nicht abgefragt werden.

zertifikatsinformation1

Der Name “autodiscover.domain.com” ist auch im Zertifikat vorhanden, aber die Warnung tritt stattdessen für den Namen “exchsrv.domain.local” auf.

Zertifikat Details
Zertifikat Details

Ursache
Nicht wie die Vorgänger, verwendet Outlook 2013 intern nicht nur den SCP (Service Connection Point) zur Suche nach Autodiscover, sondern macht gleichzeitig eine DNS-Auflösung gemäss oben dargestellten Reihenfolge. Wenn jetzt die DNS-Auflösung von exchsrv.domain.com auf einen Webserver mit HTTPS Binding zeigt, erscheint der oben gezeigte Sicherheitshinweis.

Lösung
Neues Exchange-Zertifikat erstellen

Exchange Zertifikat erstellen
Neues Zertifikat erstellen

Der EMC-2010 Assistent erstellt abschliessend die Anforderung welche in einer Datei(.req) gespeichert wird, dieser private Schlüssel wird benötigt um bei der CA Zertifizierung (z.B. CAcert.org) mittels Copy & Paste dann über das Formular den Public Key zu erzeugen. Anschliessend wird der ausgestellte Schlüssel mit “Anstehende Anforderung abschliessen” der wiederum mit Copy & Paste von der Zertifizierungsstelle eingefügte Schlüssel erzeugt. Zuletzt noch dem Zertifikat die Dienste zuordnen.

Die von CA Cert Signing Authority ausgestellten X.509-Zertifikate enthalten nur im Internet auflösbare FQDN, daher müssen die Internen URLs per Exchange Management Shell angepasst werden.

Mit folgendem cmdlet wird die aktuelle URI abgefragt.

Exchange Management Shell
Exchange Management Shell

Die AutoDiscoverServiceInternalUri wird nun auf den Externen FQDN geändert, damit es dem ausgestellten Zertifikat entspricht.

Set-ClientAccessServer -Identity exchsrv.domain.local -AutoDiscoverServiceInternalUri "https://exchsrv.domain.com/Autodiscover/Autodiscover.xml"

und die folgenden VirtualDirectory noch ändern.

Set-AutoDiscoverVirtualDirectory -Identity "exchsrv.domain.local\Autodiscover (Default Web Site)" -InternalUrl "https://exchsrv.domain.com/Autodiscover/Autodiscover.xml" -ExternalUrl "https://exchsrv.domain.com/Autodiscover/Autodiscover.xml"
Set-WebServicesVirtualDirectory -Identity "exchsrv.domain.local\EWS (Default Web Site)" -InternalUrl "https://exchsrv.domain.com/EWS/Exchange.asmx" -ExternalUrl "https://exchsrv.domain.com/EWS/Exchange.asmx"

noch kontrollieren ob alles stimmt..

Get-AutoDiscoverVirtualDirectory | ft InternalUrl, ExternalUrl
Get-WebServicesVirtualDirectory | ft InternalUrl, ExternalUrl
Get-ClientAccessServer -Identity exchsrv.domain.local | ft AutoDiscoverServiceInternalUri

Ohne DNS geht nichts, deshalb erstellen wir eine neue Forward-Lookupzone, wir öffnen dnsmgmt und erstellen eine neue Zone für unser exchsrv.domain.com

dnsmgmt Forward-Lookupzone
dnsmgmt Neue Forward-Lookupzone

Rechts im Fenster wieder mit Rechtsklick ein neuen Host als Type A erstellen, das Name Feld leer lassen und die IP Adresse von exchsrv.domain.com eintragen.

Neuer Host A
Neuer Host A

Nun sollten die Exchange-Dienste neu gestartet werden, den IIS mit iisreset /noforce aktualisieren. Falls der Nameserver ein Linux/Unix Host ist, steht folgende Zone für unsere Mail Domain.

DNS Zone
DNS Zone

Zu guter letzt soll unser Zertifikat auf die Clients ausgerollt werden, hierzu bieten sich die Gruppenrichtlinien an.

Gruppenrichtlinien Editor
Gruppenrichtlinien Editor

Computerkonfiguration-Windows-Einstellungen-Sicherheitseinstellungen-Richtlinien öffentlicher Schlüssel-Vertrauenswürdige Stammzertifizierungsstellen.

Mit Rechtsklick auf Importieren gehen, mittels des Assistenten die zuvor exportierte Zertifikatsdatei (.cer) importieren.
Beim Client wird mit gpupdate /force die Policy aktualisiert.

Alternativ kann das Zertifikat auf den Clients auch mittels des cmd-Tool certutil importiert werden, beispielsweise aus einer Batch Datei.

certutil -v -f -addstore -user "TrustedPublisher" "%cert%"

Troubleshooting
Am einfachsten geht’s mit dem Browser um herauszufinden wohin die URL https://exchsrv.domain.com zeigt. Alternativ kann auch nslookup oder host aufgerufen werden.

Browser SSL Zertifikat
Browser SSL Zertifikat

Ebenso bietet sich hier das cmd-Tool certutil zur Überprüfung an.

certutil -f –urlfetch -verify exchsrv.crt

Ob das Zertifikat an der richtigen stelle im Zertifikatsspeicher ist, lässt sich anhand der mmc-Konsole überprüfen.

mmc-Konsole
mmc-Konsole

Snap-In hinzufügen –  Zertifikate Hinzufügen – Computerkonto – Lokalen Computer.

Hinweis!
Das hier verwendete Zertifikat wird mit dem öffentlichen Schlüssel der kostenfreien Zertifizierungsstelle CAcert (cacert.org) ausgestellt, dies erfordert dass das Stammzertifikat von CAcert als Klasse 1 PKI Schlüssel im PEM oder DER Format zum Zertifikatsspeicher “Vertrauenswürdige Stammzertifizierungsstellen” importiert werden muss.

Das Zertifikat ist für die dauer von einem Jahr gültig, danach muss es erneuert werden, wer dies mit “Exchange Zertifikat erneuern” versucht, wird feststellen das dies nicht geht, Exchange 2010 möchte nur neue Zertifikate erstellen, deshalb die Methode mittels certutil.

Certutil -repairstore my <Seriennummer>

Die Seriennummer findet man in den Zertifikat Details, danach das Exchange-Zertifikat importieren.

CAcert Zertifizierungsstelle

CAcert.org ist eine von einer Gemeinschaft betriebene Zertifizierungsstelle, die kostenfreie Zertifikate für jedermann ausstellt.cacert

Ziel von CAcert ist es, das Bewusstsein und die Unterrichtung über Computersicherheit durch die Benutzung von Verschlüsselung zu fördern, insbesondere durch die Herausgabe von Zertifikaten zur Verschlüsselung. Diese Zertifikate können benutzt werden, um E-Mails digital zu unterschreiben und zu verschlüsseln, einen Anwender beim Zugang zu Webseiten zu beglaubigen und zu berechtigen und eine gesicherte Datenübertragung über das Internet zu ermöglichen. Jede Anwendung, die das gesicherte Übertragungsprotokoll mit SSL oder TLS unterstützt, kann von Zertifikaten Gebrauch machen, die von CAcert signiert wurden, ebenso jede Anwendung, die X.509-Zertifikate benutzt, z.B. für Verschlüsselung oder Signierung von Code oder Dokumenten.

Kostenfreie Zertifikate ausstellen cacert.org

VM sicherung mit ghettoVCB für ESXi

vSphere

ghettoVCB von William Lam (@lamw) ist eine freie alternative zur Sicherung von virtuellen Maschinen. Das Skript erstellt Backups von virtuellen Maschinen auf ESX(i)3.5/4.x/5.x-Server mithilfe einer Methode ähnlich wie des VMware VCB-Tool.

Es werden Snapshots von laufenden virtuellen Maschinen gemacht und sichert diese danach, nach Fertigstellung werden die Snapshots wieder gelöscht bis zur nächsten Sicherung. Der einzige unterschied zu VMware VCB ist dass der Prozess auf dem ESXi-Host selbst ausgeführt wird, dabei werden wenig Ressourcen belegt. Die Backups werden über die Service-Konsole (Busybox Console) des ESX-Server gefahren, im Gegensatz zu der traditionellen Methode bei der die Backups eine virtuelle Maschine als VCB-Proxy nutzt.

Download Quelle: ghettoVCB

Die ESXi Shell muss aktiviert werden, das geschieht über die ESXi direkt Console oder aus dem vSphere Client.

ESXi-Shell

Nach dem download und entpacken, die Dateien mit WinSCP oder aus dem vSphere Client auf den ESXi-Host in ein Verzeichnis hochladen, hier der Pfad /vmfs/volumes/datastore1/ghettoVCB/

ghettoVCB-ESXi-WinSCP

Als Backup Speicher wird ein Synology NAS genutzt, dazu wird ein NFS Datenspeicher gemountet dieser auf dem NAS als NFS Freigabe erstellt wurde.

NFS Berechtigungen
DSM NFS Berechtigungen
vSphereClient
vSphere NFS Datenspeicher

Nun den crontask anhalten mit

# /bin/kill $(cat /var/run/crond.pid)

Eine Datei anlegen mit den VMs die gesichert werden sollen, und die VM Konfiguration (homer) wo die Backup Rotation definiert wird.

# vi /vmfs/volumes/datastore1/ghettoVCB/vms.cfg
homer
barth
marge

# vi /vmfs/volumes/datastore1/ghettoVCB/homer
VM_BACKUP_VOLUME=/vmfs/volumes/NAS
DISK_BACKUP_FORMAT=thin
VM_BACKUP_ROTATION_COUNT=3
POWER_VM_DOWN_BEFORE_BACKUP=0
ENABLE_HARD_POWER_OFF=0
ITER_TO_WAIT_SHUTDOWN=4
POWER_DOWN_TIMEOUT=5
SNAPSHOT_TIMEOUT=15
ENABLE_COMPRESSION=0
VM_SNAPSHOT_MEMORY=0
VM_SNAPSHOT_QUIESCE=0
VMDK_FILES_TO_BACKUP="all"

crontab beschreibbar machen und Backup um 22:01 Täglich ausführen.

# chmod +w /var/spool/cron/crontabs/root
# /bin/echo "01   22   *   *   *   /vmfs/volumes/datastore1/ghettoVCB/ghettoVCB.sh -f /vmfs/volumes/datastore1/ghettoVCB/vms.cfg > /vmfs/volumes/datastore1/ghettoVCB/ghettoVCB-backup-$(date +\%s).log" >> /var/spool/cron/crontabs/root

crontab wieder starten

# crond 
!! bei ESXi5.0 /bin/busybox crond

Testen ob der Script tut was er soll.

# cd /vmfs/volumes/datastore1/ghettoVCB/
# ./ghettoVCB.sh -f vms.cfg -d dryrun

cronjob persistent machen, damit nach dem nächsten Reboot wieder alles läuft.

# chmod +w /etc/rc.local
# vi/etc/rc.local
... (unten anhängen)
/bin/kill $(cat /var/run/crond.pid)
/bin/echo "01   22   *   *   *   /vmfs/volumes/datastore1/ghettoVCB/ghettoVCB.sh -f /vmfs/volumes/datastore1/ghettoVCB/vms.cfg > /vmfs/volumes/datastore1/ghettoVCB/ghettoVCB-backup-$(date +\%s).log" >> /var/spool/cron/crontabs/root crond 
/sbin/auto-backup.sh

Die Sicherung der konfigurierten VMs wird nun zur definierten Zeit starten, berücksichtigt wird nicht die Zeit der Konsole, sondern die die im vSphere Client angezeigt wird.

ASG Remote Desktop

ASG Remote Desktop (vRD) ist ein Tool für die Administration und Verwaltung von Server und Workstations über die Sitzungsprotokolle RDP, ICA, VNC, SSH etc.cicada3

ASG Remote Desktop
ASG Remote Desktop

(vRD): visionapp Remote Desktop speichert die Einstellungen und Verbindungsinformationen von Remote-Desktop-Sitzungen unter Windows, Citrix, Unix/Linux oder Mac OS X und stellt sie in einer Ordnerstruktur dar. Die Vollversion sichert Einstellungen in eine Datenbank, auf die auch andere Benutzer zugreifen können. Die vielseitige Integrierbarkeit von ASG Remote Desktop 2012 ermöglicht die Einbindung externer Programme wie PuTTY,  WinSCP, vSphere, oder VNC und weitere mehr.

progressive IT management