We are hiring: mITdenker gesucht

Posted by O.Sommer

 

clip_image004
Als qualitäts- und serviceorientiertes Unternehmen unterstützt die TrinityComputer.de GmbH als Microsoft GOLD-Partner seit fast 20 Jahren erfolgreich Unternehmen in allen Größenordnungen. Unsere Schwerpunkte bilden die Bereiche IT-Consulting und IT-Services. Wir sind ein wachstumsstarkes Unternehmen und legen besonderen Wert auf eine langfristige und vertrauensvolle Zusammenarbeit mit unseren Mitarbeitern(innen) und mit unseren Kunden. Durch unsere umfangreichen Weiterbildungsangebote fördern und entwickeln wir unsere

Mitarbeiter nachhaltig weiter - makeITbetter

Für den Bereich IT-Service und/oder IT-Consulting suchen wir Dich

Deine Aufgaben

  • • Aufbau, Betrieb und Wartung von IT-Infrastrukturen im gesamten Microsoft Serverumfeld
  • • Planung und Betreuung technischer Projekte im IT-Umfeld
  • • Organisation und Durchführung von Rollouts im Bereich Infrastruktur
  • • Ansprechpartner für Kunden und externe Dienstleister, sowie für die entsprechenden Fachbereiche
  • • 1st und 2nd Level Support im direkten Kontakt mit unseren Kunden

Deine Benefits

  • • Du bekommst Spielraum für Entwicklungen an vorderster Front
  • • Wir sind Dein Partner für Deine persönliche Weiterentwicklung und helfen Dir Dein Expertenwissen weiter auszubauen und Deine Person im Markt zu stärken
  • • Deine Kollegen sind Spezialisten in verschiedensten Bereichen und lernen voneinander und miteinander
  • • Flexible Arbeitszeitmodelle für eine ausgeglichene Work-Life-Balance
  • • Tolle Kollegen und jede Menge Spaß bei der Arbeit

Unsere Erwartung

  • • Du hast fundierte Berufserfahrung in der Systemadministration im Microsoft Umfeld (inkl. Microsoft Exchange)
  • • Du hast Erfahrung in der Administration von komplexen IT-Strukturen
  • • Du hast idealerweise auch ITIL oder vergleichbare Kenntnisse
  • • Begriffe wie AD, Hyper-V, SCCM, SCVMM, SCDPM, etc. sind für dich keine böhmischen Dörfer

Hast Du Lust auf neue Herausforderungen in einem tollen Team? Dann schick uns Deine vollständigen Bewerbungsunterlagen an:
work@trinitycomputer.de – Wir freuen uns auf Dich!
TrinityComputer.de GmbH | Consulting Services | Cheruskerweg 60 | 32760 Detmold | Germany

Cluster-Test Automatisierung und Anlage einer Clustertest-Bericht-Historie auf SMB Share via PowerShell

Posted by O.Sommer

Ein Kunde trat mit der Bitte an mich heran, automatisierte Clustertests für alle Cluster in allen Domänen durchzuführen und die Reports auf einem Fileserver abzulegen, um diese Berichte im Falle eines Microsoft Supportcase direkt zugänglich zu haben und auch eine Historie der Berichte jedes Clusters einsehen zu können.

Eine Aufgabe für PowerShell dachte ich mir und mache mich ans Werk:

test-cluster 

Ist in der Lage den resultierenden Bericht mittels des Attributes –ReportName im Namen anzupassen

test-cluster –cluster Cluster10 –ReportName meinReport

z.B. erzeugt eine meinReport.mht Datei des Berichtes über den Cluster10.

Gut, aber kann test-cluster auch den Pfad des Berichtes verändern?
Jap, kein Problem:

test-cluster –cluster Cluster10 –ReportName c:\Temp\Reports\meinReport

Erzeugt eine meinReport.mht Datei im Verzeichnis C:\Temp\Reports.
Ok, dieser Pfad muss dafür existieren…das Prüfen und Korrigieren wir später mittels:

if( -not (Test-Path C:\Temp\Reports) )
{
   New-Item C:\Temp\Reports -type directory
}

den Bericht an einen anderen lokalen Pfad Umleiten geht also…aber evtl. ist das ja kein Laufwerksbuchstabe, auf dem die Reports abgelegt werden sollen, sondern ein UNC/SMB Pfad…
Aber, auch das geht mit test-cluster:

test-cluster –cluster Cluster10 –ReportName \\VMM\c$\Temp\Reports\meinReport

erstellt eine meinReport.mht auf dem VMM Server unter C:\Temp\Reports… fein fein :)

Da ja eine Historie, also ein Archiv mit Berichten aller Cluster vorgehalten werden soll, macht es Sinn, die Dateien nicht alle meinReport.mht zu nennen, sondern mit dem Clusternamen und Datum sowie u.U. auch dem Domainnamen zu versehen. Auf letzteres könnte ich hier bei dem Kunden verzichten, da ein Ablageort/Fileserver je Domain vorgesehen wurde, habe es aber trotzdem mit eingebaut, schadet ja nicht:

Dazu ersetzen wir zuerst die –cluster und –Reportname Attribute unseres PowerShell commandlets test-Cluster durch Variablen, die wir im Folgenden dann mit “Leben” füllen:

test-cluster -cluster $cluster -ReportName $reportname

Also brauchen wir aktuell $cluster und $reportname als Eingangsvariable für unser Skript.

Um die Berichte auf dem Fileserver später zuerst nach Clusternamen und dann nach Erstellungsdatum/Zeit sortiert zu bekommen, kann man den Reportnamen wie folgt u.A. mit der Datumfunktion anpassen:

$domain = $env:USERDOMAIN
$reportpath =
\\vmm\c$\Temp\Reports\
$date = get-date -Format yyyy.MM.dd.HH.mm.ss
$reportname = $reportpath+$domain+"_"+$cluster+"_"+$date

get-date liefert ohne weitere Parameter einen Wert, der nicht für Dateipfade verwendbar ist, da er ggf. / und : enthält. Auch der –Format s Parameter den ich zuerst verwendete weil er einen “sortierbare” Ausgabe erstellt, wurde aufgrund der Doppelpunkte nicht brauchbar.

Man kann die Rückgabe von get-date aber glücklicherweise sehr individuell anpassen und bekommt mit dem von mir verwendeten –Format yyyy.MM.dd.HH.mm.ss das Format Jahr.Monat.Tag.Stunde.Minute.Sekunde jeweils als Zahl und min. zweistellig zurück, so dass nachher Berichte schon aufgrund des Dateinamens auch chronologisch sortiert werden.

Um alle Cluster einer Domain zu verarbeiten, erstelle ich zuerst eine Liste aller Cluster in die Variable $clusters:

$clusters = get-cluster -Domain $domain

Diese wird dann einfach über eine ForEach Schleife unter jeweiligem Setzen des entsprechenden $reportname abgearbeitet:

ForEach ($cluster in $clusters)
    {
    $reportname = $reportpath+$domain+"_"+$cluster+"_"+$date
    test-cluster -cluster $cluster -ReportName $reportname
    }

Um (optionale) Parameterübergaben für die Domäne, den Reportpfad, sowie den Cluster erweitert sieht das vollständige Skript aktuell wie folgt aus:
(wird immer wieder mal erweitert/angepasst)

#########################################################################################
#### Cluster Validation Test Script for Domainwide scheduled Testing of all Clusters ####
####
####
#### Author: Oliver Sommer, TrinityComputer.de GmbH
#### 2015-02-04
#### Version 0.2, last modified 2015-02-05
####
#########################################################################################

param(
[string]$domain = $env:USERDOMAIN,
[string]$reportpath,
[string]$cluster
)


# Prüfung, ob $reportpath übergeben wurde (leer ist) und falls nicht:
# Entscheidung welcher domänenspezifische $reportpath (Fileshare) zu verwenden ist
If (!$reportpath)
{
    If ($domain –eq "KNE")
    {
        $reportpath = "\\v3000xyz\Reportspfad\"
    }

    If ($domain -eq "QS")
    {
        $reportpath = "\\v3000xyz\Reportspfad\"
    }

    If ($domain -eq "PROD")
    {
        $reportpath = "\\v3000xyz\Reportspfad\"
    }
    If ($domain -eq "3CAN")
    {
        $reportpath = "\\vmm\c$\Temp\Reports\"
    }
}


Clear-Host

# Prüfung ob $reportpath existiert und ggf. Erstellen des Pfades
if( -not (Test-Path $reportpath) )
{
   New-Item $reportpath -type directory
   Write-Host
   Write-Host Verzeichnis $reportpath erstellt!
   Write-Host
}

#Alle Cluster der Domäne in $clusters schreiben:
$clusters = get-cluster -Domain $domain
Write-Host In der AD DS Domäne $domain sind folgende Cluster vorhanden:
Write-Host $clusters
Write-Host

#sortierbares Datum in $date schreiben
$date = get-date -Format yyyy.MM.dd/_HH.mm.ss


# Falls ein spezifischer Cluster beim Skriptaufruf übergeben wurde:
If ($cluster)
{
    Write-Host Starte Validationtest für Cluster $cluster...
    Write-Host
    $reportname = $reportpath+$domain+"_"+$cluster+"_"+$date
    test-cluster -cluster $cluster -ReportName $reportname
}

# Prüfen ob $cluster als Attribut beim Skriptaufruf übergeben wurde, also ob es leer ist oder nicht:
If (!$cluster)
{
Write-Host Starte Validationtests für alle Cluster der Domäne $domain...
Write-Host
# Clusterbericht für jeden Cluster der Domain ausführen und individuellen Report ablegen:
ForEach ($cluster in $clusters)
    {
    $reportname = $reportpath+$domain+"_"+$cluster+"_"+$date
    test-cluster -cluster $cluster -ReportName $reportname
    }

}

Dies ist Version 0.1 des Skriptes und wird in den nächsten Tagen sicherlich noch um einiges Erweitert werden. ich werde ggf. Änderungen hier noch nachpflegen und den text entsprechend erweitern!

 

Test Eventlog Eintrag erzeugen

Posted by O.Sommer

Will man, z.B. für Monitoring Tools wie SCOM, GFI MAX oder ähnliche Tools eine Überwachung auf bestimmte Events einführen, so steht man häufiger vor dem Problem wie man diese Eventüberwachung testen kann.
Eine einfache Möglichkeit ist ein Event manuell im LOG zu erzeugen:
Hierzu kann Write-Eventlog in Powershell verwendet werden:

NAME
    Write-EventLog

SYNOPSIS
    Writes an event to an event log.

SYNTAX
    Write-EventLog [-LogName] <string> [-Source] <string> [-EventID] <int> [-Message] <string> [[-EntryType] {Error | W
    arning | Information | SuccessAudit | FailureAudit}] [-Category <Int16>] [-ComputerName <string>] [-RawData <Byte[]
    >] [<CommonParameters>]

DESCRIPTION
    The Write-EventLog cmdlet writes an event to an event log.

    To write an event to an event log, the event log must exist on the computer and the source must be registered for t
    he event log.

    The cmdlets that contain the EventLog noun (the EventLog cmdlets) work only on classic event logs. To get events fr
    om logs that use the Windows Event Log technology in Windows Vista and later versions of Windows, use Get-WinEvent.

Beispiel:

Write-EventLog -EventId 4120 -LogName EASY -Source Portal -Message "TEST" -EntryType Error

http://technet.microsoft.com/de-de/library/hh849847(v=wps.620).aspx

Testen von Powershell Skripts in Powershell v1 wenn Version 2 oder v3 installiert sind

Posted by O.Sommer

Man kann verhältnismäßig einfach testen ob Skripte unter älteren Powershell Versionen laufen indem man den Version Parameter bei Starten der Powershell.exe verwendet

Powershell.exe –version 2.0

siehe auch: http://nathanhoneycutt.net/blog/running-powershell-2-scripts-after-installing-powershell-3/

Exchange 2007 Rollup Update 13 silently fixes KB 2866064 issue “Can't load OWA Premium by using Internet Explorer 11 in an Exchange Server environment”

Posted by O.Sommer

Since the beta of IE11 and since Win8 got released with IE11 user complained about OWA Premium, which is the name for the fancy Outlook Web App Version where for example it is possible to use right clicks and other stuff that helps a lot being more productive with email, not been loaded, but instead they got the basic OWA experience that looks a lot like OWA from Exchange 2003 or older and is way less productive to use!

Microsoft KB 2866064:
Can't load OWA Premium by using Internet Explorer 11 in an Exchange Server environment
(german: OWA Premium kann in einer Exchange Server-Umgebung mithilfe von Internet Explorer 11 nicht geladen werden.)
http://support.microsoft.com/kb/2892464
http://support.microsoft.com/kb/2891587

image
Image: OWA Premium of Exchange 2007

image
Image: OWA Basic of Exchange 2007

Recently administrators who updated their Exchange 2007 Server with the latest RU13 which is available here

Update Rollup 13 for Exchange Server 2007 Service Pack 3
http://support.microsoft.com/kb/2917522

might have noticed that user complaints stopped and in fact users now got their OWA Premium experience back, despite the fact that Microsoft announced that Exchange 2007 is in extended support for some time now already and therefore would only get security updates but no non security relevant fixes (like this IE11 OWA issue)!

Nevertheless RU13, or CU13 as it sometimes is called also, silently, because nothing of this is mentioned anywhere nor does Microsoft support services have had any information about it, patches two files to integrate a fix for the IE11 issue:

jscript and microsoft.exchange.clients.owa.dll

This got discovered and proven with reverse engineering RU13 by the German MS Support Team in a Microsoft Support Call I recently had for a customer.
Microsoft Services escalated this information to update the KB and RU information to include information about the fix like I would have expected in first place.

C Laufwerk/Partition per Skript vergrößern

Posted by O.Sommer

Wenn man mehr als einen Windows Server 2008 R2 Server hat auf dem eine Partition vergrößert werden soll, dann kann folgendes diskpart Miniskript sehr hilfreich sein:

diskpart
rescan
select disk ##0
sel part ##1 
extend

“##” entfernen und sicher sein, dass die korrekte Partition auf dem richtigen Laufwerk ausgewählt wird!
Disk 0 und Partition 1 sind üblicherweise das Systemlaufwerk C: (keine Garantie dafür von mir!!) Smiley

Es kann einfach kopiert werden und in eine administrative CMD.exe (Befehlszeile) eingefügt (paste, STRG+V) werden. Die einzelnen Zeilen werden dann nacheinander in “diskpart” (welches mit der ersten Zeile aufgerufen wird) abgearbeitet!

Löschen des Caches der SCOM Console

Posted by O.Sommer

Wenn in der System Center Operations Manager (SCOM) Konsole Werte / Alarme angezeigt werden, die nicht stimmen können, muss die Konsole geschlossen werden und einmal mit dem Parameter Clearcache gestartet werden.

Im konkreten Fall wurden Alarme angezeigt für einen Server der neu installiert wurde und dann noch nicht wieder discovered wurde.
SCOM zeigte weiterhin Alarme zu dem Server im Computerdashboard an.

Aufruf über:

C:\Program Files\System Center 2012\Operations Manager\Console\Microsoft.EnterpriseManagement.Monitoring.Console.exe /clearcache

WinRM Dienst startet nicht mit Fehlercode 234 im System Eventlog

Posted by O.Sommer

Der Windows Remote Management Service (WinRm) Dienst startet heute auf zwei VMs mit der Fehlermeldung 234 im Eventlog nicht:

Log Name:      System
Source:        Microsoft-Windows-WinRM
Date:          21.02.2014 14:34:27
Event ID:      10119
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      serverxyz.servers.someone
Description:
The WinRM service is unable to start because of a failure during initialization.

Additional Data
The error code is 234.

Der WinRm Dienst ließ sich auch durch

WinRm quickconfig

in einer administrativen CMD nicht konfigurieren/einstellen/starten:

F:\>winrm quickconfig
WinRM is not set up to receive requests on this machine.
The following changes must be made:

Set the WinRM service type to delayed auto start.
Start the WinRM service.

Make these changes [y/n]? y

WinRM has been updated to receive requests.

WinRM service type changed successfully.
WinRM service started.
WSManFault
    Message = The client cannot connect to the destination specified in the request. Verify that the service on the destination is running and is ccepting requests. Consult the logs and documentation for the WS-Management service running on the destination, most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination to analyze and configure the WinRM service: "winrm quickconfig".

Error number:  -2144108526 0x80338012
The client cannot connect to the destination specified in the request. Verify that the service on the destination is running and is accepting requests. Consult the logs and documentation for the WS-Management service running on the destination, most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination to analyze and configure the WinRM service: "winrm quickconfig".

F:\>winrm enumerate winrm/config/listener
WSManFault
    Message = The client cannot connect to the destination specified in the request. Verify that the service on the destination is running and is accepting requests. Consult the logs and documentation for the WS-Management service running on the destination, most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination to analyze and configure the WinRM service: "winrm quickconfig".

Error number:  -2144108526 0x80338012
The client cannot connect to the destination specified in the request. Verify that the service on the destination is running and is accepting requests. Consult the logs and documentation for the WS-Management service running on the destination, most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination to analyze and configure the WinRM service: "winrm quickconfig".

 

Nach kurzer Recherche fand ich folgendes Posting in den MS Foren:

http://social.technet.microsoft.com/Forums/windowsserver/en-US/01773ae7-6209-477b-ab30-705090be9b1d/the-winrm-service-is-unable-to-start-because-of-a-failure-during-initialization?forum=winserverManagement

Dort wird beschrieben das im Registrierungsschlüssel:

HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters

Einträge mit falschem Type, wären. REG_SZ und REG_QWORD statt REG_DWORD.
Das war auch bei den beiden VM die ich hatte so, dort waren es die beiden REG_SZ Einträge, die in folgendem Screenshot schon als REG_DWORD von mir neu angelegt wurden und die alten, für späteres Troubleshooting (falls nötig) umbenannt wurden:

image

Nachdem die beiden Werte als REG_DWORD neu erstellt wurdn, ließ sich der WinRM Dienst mittels “winrm quickconfig” dann auch erfolgreich konfigurieren und starten:

image

 

RemoteDesktop Dienste (RDS) verwalten unter SBS 2011 Standard/Essentials sowie 2012 Essentials

Posted by O.Sommer

Microsoft hat unter der Nummer 2472211 einen KB Artikel veröffentlicht, der aufzeigt wie man unter Small Business Server Std und Essentials 2011 und Windows Server Essentials 2012 die Remote Desktop Verwaltungskonsole installieren kann.
Die o.g. Server installieren und konfigurieren von sich aus den Remote Desktop Gateway Dienst mittels der Internetzugangsassistenten. Manchmal kann es aber notwendig sein die Konsole zu benutzen, diese wird aber standardmäßig nicht installiert.
Der folgende Artikel geht auf die Besonderheiten ein und erklärt wie man die Konsole korrekt installiert:

How to Manage the Remote Desktop Gateway Service in SBS 2011 Standard , SBS 2011 Essentials and Windows Server 2012 Essentials
http://support.microsoft.com/kb/2472211

Nicht explizit in dem Artikel aufgeführt aber meiner Ansicht nach genauso bzw. zumindest genauso betroffen und zu verfahren ist auch der Windows Server Essentials 2012 R2.

Fixit: Probleme beim Deinstallieren oder Updaten?

Posted by O.Sommer

Microsoft hat bis vor einigen Jahren ein Tool namens Windows Installer-CleanUp Tool (msicuu2.exe) zur Verfügung gestellt um Probleme beim Deinstallieren von Software (in meinem Fall aktuell den VM Ware Tools die eine fehlende “VMWare Tools64.msi” Installationsdatei mit Fehler 1714 melden) zu beheben.
Dieses Tool wird von MS seit einigen Jahren nicht mehr unterstützt und auch nicht mehr zum Download angeboten, da es damit einige gravierende Probleme gab, die dazu führten das andere Software auf dem betroffenen System nach der Verwendung von msicuu2.exe nicht mehr ordnungsgemäß funktioniert hat.

Daher stellt Microsoft seit einiger Zeit die überarbeitete Fixit Variante des Tools bereit, die man sowohl online als auch für die Verwendung auf Computern ohne Internetzugang verwenden kann:

Fixit: Problem bei Deinstallation/Installation von Software
http://support.microsoft.com/mats/Program_Install_and_Uninstall

Damit kann man  eine Software die sich regulär über Systemsteuerung –> Programme nicht deinstallieren lässt, häufig sauber vom System entfernen.
In meinem Fall mit den VMWare Tools, welche durch eine neuere Version aktualisiert werden sollten, klappte das Update bzw. die Neuinstallation der VMWareTools nach der Anwendung des Fixit einwandfrei.
Bei dieser Prozedur funktionierte sogar die Netzwerkverbindung zur VM bis auf einen kurzen Aussetzer auch nach der Deinstallation der VMWareTools, bei anderen Methoden wurde die Verbindung zur VM nach dem entfernen der Tools unterbrochen.