Category Archives: Microsoft

VM aus dem SCVMM entfernen ohne Löschen der VHD`s

Bei der Migration einer Debian-Maschine wurden nur die vmdk-Files in vhd transferiert. Danach bekamm ich vom SCVMM einen Timeoutfehler (Error 3101) angezeigt. Die Maschine wurde zwar im Hyper-V-Manager erstellt, aber ohne Konfiguration der Hardware. Da die VHD`s nun vorhanden waren, wollte ich diese nicht löschen oder einen Neustart versuchen.

So konnte ich im Hyper-V-Manager die Hardware hinzufügen und die VM danach starten und die restlichen SChritte aus dem vorherigen Artikel durchführen und die Migration war abgeschlossen.

Leider übernahm der SCVMM-Manager auch durch Aktualisierung nicht, dass die VM nun Lauffähig war. Hier blieb nur die Option “Auftrag wiederholen” und “Löschen”Leider bietet der SCVMM keine Möglichkeit, nur den Eintrag zu löschen. Hierbei muss der Umweg über die Datenbank gegangen werden.

  1. Beenden des Virtual Machinge Manager Service.
  2. Aufrufen des SQL Management Studio, auf dem Server auf dem die SCVMM DB (Default: VirtualManageDB) abgelegt ist
  3. Öffnen der Datenbank und erweitern der Tabelle
  4. Rechtsklick auf tbl_WLC_VObject und z.B. die “obersten 200 Zeilen bearbeiten”.
  5. In der Spalte “ObjectState” könnt ihr den Status der VM sehen. dort sucht ihr euch den Status der VM raus, die ihr entfernen wollt, in meinem Beispiel Status 310.
  6. Mit dem Skript aus dem Artikel “RemoveMissingVMs”  werden alle VMs aus der SCVMM Datenbank entfernt, die den angegebenen Status anzeigen.
  7. Ihr könnt das Skript in SQL auf die bestehende Tabelle anwenden.
  8. Nachdem das Skript ausgeführt wurde, sieht die Ausgabe z.B. so aus:

Danach könnt ihr das SQL Server Management Studio schließen und den Dienst “Virtual Machine Manager” starten. Sobald sich die SCVMM-Konsole öffnet, fällt euch die fehlende VM auf. Diese wird durch Aktualisieren des Hosts wieder angezeigt und mit dem korrekten Status importiert.

Weitere Artikel:

Migration V2V ESXi to Hyper-V (SCVMM 2008 R2)

So, nachdem die Regeneration der Serverhardware am Wochenende abgeschlossen wird, ist es Zeit die VM`s langsam vom ESXi zum Hyper-V zu verschieben.

Dazu habe ich den ersten ESXi durch eine Server 2008 R2 Installation mit der Roller Hyper-V ersetzt. Da der erste Hyper-V auch gleichzeitig ein virtuelle Maschine mit dem ISCSI-Target als SAN inne hat, wurde auf die Servercore-Installation verzichtet, da ich den RAID-Controller im Laufenden Betrieb managen möchte.

Eine V2V Migration über den SCVMM funktioniert nur mit einigen Vorraussetzungen, die vorher beachtet werden müssen. Hier sei angemerkt, dass der VMware Converter von VMware wesentlich Leistungsfähiger ist, als der Converter im SCVMM 2008 R2.

Solltet Ihr die ESXi-Hosts ohne vSphere Center betreiben, empfehle ich euch, für eine Übergangszeit, den vSphere-Center-Server zu installieren, dieser ist ja für 60 Tage kostenlos. Damit ist eine Migration wesentlich einfacher, da so auch die ESXi Hosts im SCVMM verwaltbar werden.

Eine Migration der VM`s vom ESXi, die in der Hardware Version 7 erstellt wurden und möglicherweise noch mit dem SCSI-Controller VMware Paravirtual ausgestattet sind, ist nicht ohne vorherige Maßnahmen möglich. Um bei diesen VM`s eine V2V Migration per SCVMM zu ermöglichen, ist zunächst ein Zwischenschritt über den VMware Converter notwendig. Die Freeware Version reicht aus.

Über den VMware Converter konvertiert ihr die Maschine unter der Angabe eines anderen Namens (z.B. Zusatz “N”) auf den gleichen Host. Dabei wählt ihr als Hardware-Version “4” und als SCSI-Controller LSI Logic. Nach Abschluss der Migration könnt ihr die neue VM nun, nach der genannten Anleitung, auf einen Hyper-V Host migrieren.

Um eine Migration einer ausgeschalteten VM über den SCVMM vorzunehmen, sind folgende Punkte zu beachten:

1. Falls vmxnet (2)(3)-Netzwerkkarten verwendet werden, diese deinstallieren und durch E1000 Kompatible Netzwerkkarten mit der gleichen Konfiguration ersetzen

2. Nach einem Neustart Deinstallation der VMware-Tools

3. Die VM muss im ausgeschalteten Zustand sein, um eine Migration per SCVMM vornehmen zu können.

4. Im SCVMM V2V-Migration auswählen. In Bibiliotheksfenster werden die ausgeschalteten VM`s angezeigt. Hier wählt ihr die zu migrierende VM aus.

5. Danach wählt ihr noch den neuen Host und die Netzwerkkarten aus (ich verbinde die Karten noch nicht, sondern wähle nur das Netzwerk aus).

6. Nun beginnt die Migration. Zunächst wird die Konvertierung der vmdk-Files in vhd-Dateien vom SCVMM vorgenommen, dass kann je nach Größe der zu migrierenden VM einige Zeit dauern.

7. Nach Abschluss der Migration könnt ihr die VM starten und die Netzwerkkonfiguration vornehmen.

8. Prüft die Ereignisanzeige auf FEhler oder ähnlichem. Sollte euch nichts negatives auffallen, könnt ihr nun die Alte VM auf dem ESX(i) Host löschen.

 

 

Migrationsvorbereitung ESXi zu Hyper-V

In nächster Zeit liegen bei mir doch noch so einige Projekte an. Zunächst steht ein Wechsel der Virtuellen Maschinen von ESXi zu Hyper-V an. Gründe liegen vor allem in den benötigten Features.
Der ESXi bringt viele Features mit, die ich von Hause aus nicht benötige. Features die ich benötige sind wiederrum nur in den Lizenzpflichtigen Versionen enthalten (z.B. vMotion).
Aufgrund der Lizenzrechtlichen Geschichte und der ausreichenden Features von Hyper-V werde ich meine derzeitigen Virtuellen Maschinen nach und nach zu Hyper-V migrieren.

ODBC Verbindung SQL Server 2008 R2 Express

Für einen Kunden benötigten wir einen SQL Server 2008 R2 Express. Dieser sollte über die LAN-Verbindung ansprechbar sein und es sollte eine ODBC-Verbindung für bestehenden Datenbanken und weitere Clients eingerichtet werden. Dabei stellten sich die ein oder anderen Schwierigkeiten heraus, da der SQL Server Express sich bei den Management Werkzeugen zum Vorgänger unterscheidet.
Bei der Vollinstallation des SQL 2008 R2E werden zwar alle Komponenten installiert, aber einige benötigte Dienste bleiben mittlerweile Standardmäßig deaktiviert. Dazu gehören unter anderem auch die Dienste um den SQL 2008 R2E über LAN zu erreichen.
Nach Abschluß der Installation fällt auf, dass es im Programmordner nur noch den Eintrag für das SQL Server Management-Studio gibt. Sucht man hingegen den SQL Server Konfigurations-Manager so ist dieser nun mit in die Computerverwaltung integriert:
SQL-Server-Konfigurations-Manager
Um nun eine Verbindung von außerhalb zu zu lassen, sind folgende Schritte notwendig:
1. Konfiguration der Windows Firewall und öffnen der Ports 1433, 1434 und einen dynamischen Port den hier bereits festlegen würde (z.B. 48124)
2. Unter Computerverwaltung->Dienste den Dienst “SQL Browser” von deaktiviert auf Automatisch einstellen
3. Computerverwaltung -> Dienste und Anwendungen -> SQL-Server-Management-Konfiguration -> SQL-Server-Netzwerkkonfiguration->Protokolle für SQL Express -> TCP/IP auswählen und hier kann ganz am Ende unter dem Punkt “IPall” der dynamische Port fest vergeben werden.

SQL 2008 R2 Express TCP/IP-Konfiguration
SQL 2008 R2 Express TCP/IP-Konfiguration

Nachdem durchführen dieser Schritte sollter einer ODBC-Verbindung von einem externen Host nichts mehr im Wege stehen.
Um den dynamischen Port auch fest im ODBC-Connector zu verwenden, gibt es bei der Einrichtung der ODBC-Datenquelle den Punkt Clientkonfiguration (siehe Screenshot), hier lässt sich ein Port fest bestimmen.
Einrichtung einer ODBC-Verbindung mit SQL 2008 R2 Express und statischen Port
SQL2008R2E ODBC

Solltet Ihr Probleme haben, so hinterlasst einfach ein Kommentar, ich schau dann mal wo der Fehler liegt.
Ansonsten viel Erfolg.

PDF Indizierung Exchange 2010

Bei der Installation von Exchange 2010 wird standardmäßig das Filterpack von Microsoft installiert. Dieses ermöglich die Volltext-Indizierung von nachfolgenden Dokumenten:

  • Filter für ältere Office-Versionen (97-2003; .doc, .ppt, .xls)
  • Filter für Metro-Office (2007; .docx, .pptx, .xlsx)
  • Zip-Filter
  • OneNote-Filter
  • Visio-Filter
  • Publisher-Filter
  • Filter für Open Document-Format

Wie zu sehen ist, wird das PDF-Format in dieser Sammlung nicht aufgelistet. Da PDF ja einen quasistandard darstellt, sollte die Funktion zur Volltext-Indizierung dieses Formats nachträglich installiert werden. Dies ist durch den Adobe PDF iFilter möglich.

Dieser kann  unter http://www.adobe.com/support/downloads/detail.jsp?ftpID=4025 bezogen werden.

Leider ist es mit der reinen Installation nicht getan. Es müssen einige Konfigurationsschritte manuell auf den entsprechenden Exchange Servern erfolgen.

  1. Installieren des iFilters
  2. Aufnehmen des Installationspfads in die Pfadvariable
  3. Konfiguration PDF iFilter
  4. Konfigurieren der Registry, zunächst importieren der folgenden Einstellungen:
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftExchangeServerv14MSSearchCLSID{E8978DA6-047F-4E3D-9C78-CDBE46041603}]
@="PDFFilter.dll"
"ThreadingModel"="Both"
"Flags"=dword:00000001
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftExchangeServerv14MSSearchFilters.pdf]
@="{E8978DA6-047F-4E3D-9C78-CDBE46041603}"

Sobald diese Schritte durchgeführt wurden, muss der Server neu gestartet werden.
Um nun auch die PDF Dokumente mit in den Index zu bekommen, muss dieser neu erstellt werden.
Dies geht am besten über die Powershell unter Eingabe von “./ResetSearchIndex.ps1 -force -all” im Scripts-Verzeichnis des Exchange 2010 Installationsverzeichnisses.

Leider dauert der Vorgang mehrere Stunden, aber danach sind nun auch die PDF Dokumente durchsuchbar.

Exchange 2010 SP1 OWA Mails lassen sich nicht löschen – Behoben

Nun ist das Update einige Tage vorrüber und leider hat sich doch ein Fehler nachdem Updateprozess gezeigt. Zum einen wird in der Ereignisanzeige folgender Fehler:
System EventID 3 – WebHost konnte eine Anforderung nicht verarbeiten
Anwendung EventID 108 – Outlook Web App konnte aufgrund eines Konfigurationsfehlers keine Verbindung zu den Exchange-Webdiensten herstellen. Antwortcode = ‘500’.
Es lassen sich keine Mail mehr in OWA löschen. Sobald versucht wird zu löschen oder zu verschieben, wird folgende Fehlermeldung angezeigt:

Exchange 2010 OWA Fehler

Das Problem besteht bei mir nur in OWA. OWA-Light ist davon nicht betroffen. Nach einigen Recherchen habe ich zunächst das SSL-Zertifikat Testweise erneuert und mir die konfigurierten HTTP-Weiterleitungen im IIS angesehen und rekonfiguriert. Doch der Fehler blieb bestehen. So habe ich mir erstmal angeschaut, wie die Konfiguration vom https://www.testexchangeconnectivity.com betrachtet wird und dieser hatte auch einige Einstellungen zu bemängeln.
Danach habe ich ein wenig innerhalb von Technet recherchiert und bin dabei über folgenden Thread gestoßen,Microsoft Technet Forum
Zunächst wurde hier als Lösung angegeben, dass man die web.config unterhalb von (Standardkonfiguration) C:Inetpubwwwroot umbennen soll, z.B. in web.config.old.

Doch dies half bei mir nicht. Der Fehler blieb identisch. Einige passten auch die REchte an, doch dies würde ich aufgrund von Sicherheitsüberlegungen, nicht empfehlen. So fand ich noch einen Tipp, in dem angegeben wurde, dass in der IIS-Konfiguration die Bindungen der “Default Web Site” entfernt werden sollen, wenn diese einen Hostnamen enthalten.
Nachdem ich dies probierte, konnte ich wieder ohne Probleme Mails löschen und verschieben. Eine erneute Prüfung mit https://www.testexchangeconnectivity.com zeigte auch keine Fehler mehr an.

Also, aufrufen von IIS-Manager und unter der “Default Web Site” rechts auf “Bindungen” und bei den Einträgen schauen, ob dort Hostheader angegeben sind (gilt für Port 80). Sollten welche angegeben sein, so können diese Einträge entfernt werden. Danach sollte die komplette Funktionalität von OWA gewährleistet sein. Der Fehler liess sich bei mir nachstellen. Sobald ich ein Eintrag zu den Bindungen hinzugefügt wurde, war die Funktionalität von OWA nicht mehr gewährleistet.

Exchange 2010 SP1

Da gerade ein wenig Zeit besteht, werde ich die Installation vom Service Pack 1 für Exchange 2010 vornehmen.
Ein einfacher Klick auf setup.exe reicht hier nicht aus. Zunächst sind einige Vorarbeiten notwendig. Unter anderem müssen einige Patches installiert werden, die nicht über WSUS verteilt angeboten werden. Vorher sollte das Backup nicht vergessen werden. Ich gehe hier von der Installation auf einem Exchange 2010 unter Server 2008 R2 aus.

Exchange 2010 SP1 Begrüßung

Vor der Installation des Service Packs sind einige Vorbereitungen, wie bereits erwähnt, notwendig. Da der Download vom SP1 ca. 550MB nicht gerade klein ausfällt, sollte man den Download bereits anstoßen.
Das Service Pack 1 für Exchange 2010 könnt ihr hier Downloaden:
http://technet.microsoft.com/de-de/evalcenter/dd185495

Außerdem sind folgende Patches Vorraussetzungen bzw. Empfohlen:
KB982867 – WCF: Enable WebHeader settings on the RST/SCT
http://code.msdn.microsoft.com/KB982867
NET Framework 2.0-based Multi-AppDomain application stops responding when you run the application
http://code.msdn.microsoft.com/KB979744

http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=977357&kbln=en-us
Microsoft Unified Communications Managed API
http://download.microsoft.com/download/3/6/9/3693C940-1B9A-4386-836F-A21C7F4AE9C6/UcmaRedist.msp
Office 2010 Filterpack
http://download.microsoft.com/download/0/A/2/0A28BBFA-CBFA-4C03-A739-30CCA5E21659/FilterPack64bit.exe
Exchange 2010 Prüfung der Vorraussetzung
Die Installation der Patches lässt sich mit folgendem Befehl vereinfachen:
For /F “” %%i IN (‘Dir /B *.msu’) Do wusa %%i /quiet /norestart
Wichtig: Danach einen Neustart des Server durchführen!

Weiterhin muss zunächst das UM Language Pack deinstalliert werden
setup.com /RemoveUmLanguagePack:DE-de

Nachdem diese Voraussetzungen erfüllt wurden, sollte die nächste Prüfung folgendermaßen aussehen:
Exchange 2010 SP1 Erfolgreiche Voraussetzungsprüfung

Danach konnte das Update gestartet werden. Das Update benötigte in meiner kleinen Umgebung ca. 1 Stunde bis zum Abschluss. Nach Abschluss benötigte das Setup keinen Neustart.
OWA präsentierte sich beim erneuten Einloggen in einem deutlich überarbeiteten Layout.

Mit einigen Vorbereitungen und ein wenig Zeit verlief das Setup ziemlich unspektakulär. Leider kam der ganze Prozess aufgrund der Updates, die nicht über WSUS verteilt werden, nicht wirklich ohne Neustart aus. In einer hochverfügbaren Umgebung oder mit mehreren Servern, sollte der Updateprozess geplant werde.

WSUS 3.0 Event ID 12052, 12042, 12032, 12022, 12012, 12002

Aus dem nichts tauchten bei mir in der Ereignisanzeige die angegebenen Fehler auf, die aussagten, dass alle Webdienste nicht funktionieren. Nach diversen Recherchen, waren unterschiedliche Lösungsvorschläge. Überprüfen der ASP. Net Berechtigung, Neuinstallation des SelfupdateonPort80 (allerdings fragte ich mich, wass das mit dem Fehler zu tun haben sollte) usw.

Letztendlich habe ich den Fehler auf fehlende Berechtigung von .NET auf das Windows Temp- Verzeichnis eingrenzen können. Dort hatte cih letzte Woche was in Zusammenhang mit Sharepoint verstellt. Nachdem ich zunächst die Gruppe “Jeder” berechtigt habe, erzeugte der erneute aufruf von “wsusutil.exe checkhealth” wieder Informationen und keine Fehler. Danach habe ich die Berechtigung weiter eingeschränkt auf die Gruppe “IIS_IUSRS”. Ein erneuter Aufruf blieb weiterhin ohne Fehler.

Computerkonten im AD und SMS 2003 löschen

Nachdem wir vor einigen Wochen eine Regeneration hatten, sind nahezu 80% der Clients ausgetauscht worden. Diese Clients besitzen ja nun noch Computerkonten in der AD und im SMS 2003.
Wie sollte es auch anders sein, kam natürlich vor kurzem eine Lizenzabfrage, der aktuellen Clients, so müssen wir nun adhoc die Computerkonten im AD und SMS bereinigen.

Active Directory
Im AD lässt sich dies relativ einfach realisieren (Vorraussetzungen: min. Windows Server 2003). Mit dem Tool dsquery lassen sich die inaktiven Computerkonten der vorgegebenen Wochen anzeigen. Die Ausgabe lässt sich auch zugleich als Eingabe für eine Löschung nutzen.
Beispiel: dsquery computer ou=Clients,DC=Test,DC=Domain -inactive 3 -limit 0 -s domaincontroller01 | dsrm -s domaincontroller01 -c
Im Beispiel werden alle Computerobjekte, die in den letzten 3 Wochen (-inactive 3) inaktiv waren, auf dem Domaincontroller01, aus der OU=Clients entfernt. Das Entfernen geschieht nach der Pipe (|) mit dsrm, der Parameter -c gibt an, dass auch bei Fehlern, der Vorgang fortgesetzt wird.
Zu beachten ist, dass die AD Computerobjekte als Tree ansieht, wenn an den entsprechenden Computerobjekten ein Drucker frei gegeben wurde. Hier muss der Parameter -subtree angehängt werden.

SMS 2003
Für den SMS 2003 bin ich über einen Interesannten Blogeintrag gestolpert:
http://blog.wisefaq.com/2010/03/31/deleting-computers-from-sms-2003-and-perhaps-sccm-2007-with-a-script/
Das Script steht zum Download zur Verfügung und funktioniert einwandfrei.

Mit diesen beiden Tools konnte ich unsere Umgebung relativ schnell auf einen sauberen Stand bringen und wir waren in der Lage die Lizenzabfrage relativ schnell zu beantworten.

IIS 7 / 7.5 Hosting mehrere SSL-Seiten auf einer IP

Mit dem Webservern kann man auf Port 80 mehrere Domänen auf einer IP-Adresse, anhand des Hostnamen, hosten. Dies ist allerdings bei HTTPS-Verbindungen schwierig, da der Hostname ja durch das Zertifikat bereits ausgestellt wird und mehrere Hostnamen nicht zusammen mit einem Port und einer IP laufen können.
Es gibt allerdings einen Weg, wie man mehrere SSL-Verbindungen mit einem Webserver und einer IP realisieren kann.

Vorraussetzungen:

  • Ein Wildcard-Zertifikat (*.domain.de)
  • IP-Adresse für das Hosting mehrere Webseiten
  • Min. 2 Webseiten auf Port 80 mit Hostnamen (SSL-Hostname wird nachgetragen)

Um das ganze nun zu realisieren:

  • Eine Commando-Zeile mit administrativen Rechten aufrufen
  • Ins Verzeichnis C:WindowsSystem32inetsrv wechseln
  • Folgendes Kommando eingeben (ersetzen von {Sitename}, {IP} und {Hostheader} mit den gewünschten Werten)
    • appcmd set site /site.name:{SITENAME} /+bindings [protocol='https',bindingInformation='{IP}:443:{HOSTHEADER}']
    • appcmd set site /site.name:IIS Seitenname /+bindings.[protocol=’https’,bindingInformation=’*:80:www.domain.de’]
  • Zertifikat im IIS Manager prüfen, kann geändert werden, allerdings kann der Hostheader nicht angepasst werden

Mit diesem wenigen Handgriffen könnt ihr nun mehrere Webseiten, über HTTPS, auf einem Webserver zugänglich machen.

Um eine bestehende SSL-Verbindung zu ändern:

  • appcmd set site /site.name:{SITENAME} /bindings.[protocol='https',bindingInformation='{IP}:443:{HOSTHEADER}'].bindingInformation:{NEWIP}:443:{NEWHOSTHEADER}
  • appcmd set site /site.name:”Default Web Site” /bindings.[protocol=’https’,bindingInformation=’10.0.1.100:443:web1.f1nalbyte.de’].bindingInformation:*:443:web1.f1nalbyte.de

siehe auch: http://www.sslshopper.com/article-ssl-host-headers-in-iis-7.html oder http://toastergremlin.com/?p=308