Archiv
PowerShellPlus – 32Bit & 64 Bit Snapin’s
PowerShellPlus - 32Bit & 64 Bit Snapin’sPowerShellPlus, eine Powershell-Erweiterung mit grafischer Oberfläche wird an Montag, 25.August als Download zur Verfügung stehen.Was PowerShellPlus ist, will ich hier nicht beschreiben, vielleicht nur eines: die perfekte Integration der Konsolen Oberfläche von PowerShell, einem Code-Editor mit Intellisense und einer fantastische Hilfe. Hinter dem Programm steht der in der Scripting Welt nicht ganz unbekannte Dr. Tobias Weltner. Einfach ausprobieren.Für mich stellte sich gestern die Frage, wie sich Powershell mit der Problematik: „Powershell-SnapIn’s auf 64 Bit Systemen“ verhält und wie sich diese Probleme umgehen lassen. PowerShellPlus ist ein 32Bit Programm. Es läuft natürlich auch in Umgebungen wie Exchange Server 2007 oder System Center Virtual Machine Manger 2008. Aber das sind reinrassige 64 Bit Systeme. Installieren wir PowerShellPlus, dann werden alle SnapIn’s ausgelesen und in PowerShell eingeklinkt. Mit allem was dazugehört, einschließlich Hilfe. Vollautomatisch.Nach dem Download und der Installation auf dem System Center Virtual Machine Manager 2008 und dem ersten Aufruf liest er die vorhandenen SnapIn‘s ein. Nochmal: Basis für den SCCM 2008 ist Windows Server 2008, 64 Bit Edition. Im Learning Center der PowerShellPlus finden wir unter „PSSnapin Reference“ alle SnapIn’s aufgelistet, die PowerShellPlus gefunden hat. 5 SnapIn’s sind immer vorhanden:
Wo aber sind die SCVMM 2008 SnapIn’s?Die Informationen der SnapIn’s werden in der Registry angelegt. OK, starten wir Regedit über „Run“ – Regedit und springen zu [HKEY_LOCAL_MACHINESOFTWAREMicrosoftPowerShell1PowerShellSnapIns] dann finden wir dort das PowerShellSnappIn „Microsoft.SystemCenter.VirtualMachineManager“
Warum also findet PowerShellPlus dieses SnapIn nicht? Schauen wir uns doch einmal im Task Manager an, was für ein Regedit wir aufgerufen haben.
Regedit ohne *32, also die 64BIT Version . PowerShellPlus ist eine 32 Bit Programm. Also kann es die 64-Bit Registry nicht auslesen.
Wir brauchen Regedit in der 32 Bit Variante. Dies finden wir unter C:WindowsSysWOW64. Starten wir diesen Registrations-Editor:Ok, also haben wir jetzt die 32 Bit Version. Und suchen uns dort die Stelle, wo sich die PowerShell SnapIn’s befinden müssen:
Nichts vorhanden, deshalb kann auch PowerShellPlus nichts finden. Die gleiche Problematik finden wir unter Exchange Server 2007 vor, weil auch hier das Betriebssystem eine 64 Bit Variante sein muss.Was nicht funktioniert:Die relevanten DLL ‚s in der 32 BIT Registry zu referenzieren. Es handelt sich ja um 64 BIT DLL’s. Wir brauchen aber die 32 Bit DLL’s und die sind nicht auf dem System vorhanden. Aber der Lösungsansatz ist richtig.Wo bekommen wir jetzt die 32-BIT DLL’s her? Step 1: Download der 32 Bit VersionenFür Exchange gilt zu beachten, dass Sie die Sprach-Variante downloaden (943 MB), für die Sie später in PowerShellPlus auch die Erklärungen und Hilfe angezeigt bekomme, auch auswählen. Wir benötigen die 32BIT EditionSystem-Center Virtual Machine Manager 2008 ist derzeit noch im Beta-Status. Es ist derzeit nur über Microsoft Connect nach Anmeldung zu beziehen.Als Basis für die Installation dient eine 32BIT-Variante von Windows Vista. Dort installieren wir ausschließlich die Management Funktionen von Exchange 2007 bzw. die Verwaltungs-Konsole von SCVMM 2008. SCVMM 2008 installiert sich übrigens in der Sprachversion, die dem Betriebssystem zu Grunde liegt.Step 2: Identifizieren der DLLsWir starten unter Vista Regedit.
Ich habe hier sowohl Exchange 2007 als auch SCVMM 2008 installiert. Deshalb werden jetzt 3 SnapIn’s angezeigt. Mit einem Doppelklick auf den Modulnamen erhalten wir Pfad und Datei.
| SnapIn | DLL | Pfad |
| Virtual Machine Manager | Microsoft.SystemCenter.VirtualMachineManager.dll | Program FilesMicrosoft System Center Virtual Machine Manager 2008bin |
| Exchange…. Admin | Microsoft.Exchange.PowerShell.Configuration.dll | Program FilesMicrosoftExchange Serverbin |
| Exchange… Support | Microsoft.Exchange.Management.Powershell.Support.dll | Program FilesMicrosoftExchange Serverbin |
Step 3: Kopieren der 32-Bit Dateien Jetzt müssen wir di relevanten Dateien kopieren. Tobias Weltner und ich haben uns gestern Nacht nicht die Mühe gemacht, alle Abhängigkeiten der verschiedenen DLL’s zu testen.Für SCCVM 2008 sind es:
| about_Changes_in_VMM_2008.help.txt about_VMM.help.txt about_VMM_Scripting.help.txt about_VMM_Tutorial.help.txt AxInterop.QuickMksAxLib30.dll AxInterop.QuickMksAxLib35.dll AxVMRCActiveXClient.dll cli.psc1 DundasWinChart.dll Errors.dll GroupingListView.dll Interop.QuickMksAxLib30.dll Interop.QuickMksAxLib35.dll Microsoft.EnterpriseManagement.UI.ConsoleFramework.dll Microsoft.ReportViewer.Common.dll Microsoft.ReportViewer.Winforms.dll Microsoft.SystemCenter.VirtualMachineManager.dll Microsoft.SystemCenter.VirtualMachineManager.dll-Help.xml Microsoft.Virtualization.Client.RdpClientAxHost.dll Microsoft.Virtualization.Client.RdpClientInterop.dll NativeMethods.dll Remoting.dll SQMapi.dll SQMWrapper.dll TraceWrapper.dll UI.AddHostWizard.dll UI.Bitbos.dll UI.CommonControls.dll UI.GlobalSettingsDialog.dll UI.HardwareConfig.dll UI.HardwareProperties.dll UI.HostPropertiesDialog.dll UI.Images.dll UI.Library.dll UI.MmcContainer.dll UI.NewVmWizard.dll UI.OSProperties.dll UI.Reporting.dll UI.SelfService.dll Utils.dll virtualmachinemanager.types.ps1xml VMRCActiveXClient.dll VMRCClientControlLib.dll WizardFramework.dll |
Für Exchange Server 2007 sind es:
| AirSyncTiStateParser.dll BPA.Common.dll BPA.ConfigCollector.dll BPA.NetworkCollector.dll BPA.UserInterface.dll BPA.WizardEngine.dll chksgfiles.dll dsaccessperf.dll e12pidgen.dll epoxy.dll escprint.dll ese.dll eseback2.dll esebcli2.dll ExBPA.ESECollector.dll ExBPA.ExchangeCollector.dll ExBPA.Shared.dll ExBPAMdb.dll ExBPAMon.dll exchange.format.ps1xml Exchange.Support.format.ps1xml exchmem.dll exchsetupmsg.dll exrpc32.dll exrw.dll exsetdata.dll extrace.dll ExTraceMan.dll Interop.ActiveDS.dll Interop.adsiis.dll Interop.CertEnroll.dll Interop.Migbase.dll Interop.MSClusterLib.dll Interop.stdole2.dll Interop.XEnroll.dll MapiProtocolHandlerStub.dll Microsoft.Exchange.AirSync.AirSyncMsg.dll Microsoft.Exchange.AirSync.dll Microsoft.Exchange.AirSync.SyncStateConverter.dll Microsoft.Exchange.Cluster.Replay.dll Microsoft.Exchange.Cluster.ReplicaSeeder.dll Microsoft.Exchange.Common.dll Microsoft.Exchange.Common.IL.dll Microsoft.Exchange.Common.ProcessManagerMsg.dll Microsoft.Exchange.CommonMsg.dll Microsoft.Exchange.Configuration.ObjectModel.dll Microsoft.Exchange.ContentIndexing.Tasks.dll Microsoft.Exchange.Core.Strings.dll Microsoft.Exchange.Data.Directory.dll Microsoft.Exchange.Data.dll Microsoft.Exchange.Data.Mapi.dll Microsoft.Exchange.Data.Storage.ClientStrings.dll Microsoft.Exchange.Data.Storage.dll Microsoft.Exchange.Diagnostics.dll microsoft.exchange.edgesync.common.dll Microsoft.Exchange.Extensibility.Internal.dll Microsoft.Exchange.Infoworker.CalendarSettings.dll Microsoft.Exchange.InfoWorker.Common.dll Microsoft.Exchange.Isam.Interop.dll Microsoft.Exchange.Management-Help.xml Microsoft.Exchange.Management.DetailsTemplates.dll Microsoft.Exchange.Management.dll Microsoft.Exchange.Management.Edge.SystemManager.dll Microsoft.Exchange.Management.NativeResources.dll Microsoft.Exchange.Management.Powershell.Support.dll Microsoft.Exchange.Management.PublicFolders.dll Microsoft.Exchange.Management.SnapIn.Esm.dll Microsoft.Exchange.Management.SystemManager.dll Microsoft.Exchange.ManagementMsg.dll Microsoft.Exchange.MessageSecurity.dll Microsoft.Exchange.MessagingPolicies.Rules.dll Microsoft.Exchange.Net.dll Microsoft.Exchange.PowerShell.Configuration.dll Microsoft.Exchange.RoutingTableLogParser.dll Microsoft.Exchange.Rpc.dll Microsoft.Exchange.RPCOverHTTPAutoconfig.dll Microsoft.Exchange.Search.exSearchMsg.dll Microsoft.Exchange.Setup.Common.dll Microsoft.Exchange.StoreProvider.dll Microsoft.Exchange.SystemAttendantMailboxServicelet.dll Microsoft.Exchange.Transport.Agent.AntiSpam.Common.dll Microsoft.Exchange.Transport.Agent.SenderId.Core.dll Microsoft.Exchange.Transport.dll Microsoft.Exchange.Transport.Logging.Search.dll Microsoft.Exchange.UM.ClientStrings.dll Microsoft.Exchange.UM.Management.dll Microsoft.Exchange.UM.UMCommon.dll Microsoft.Exchange.UM.UmDiagnostics.Common.dll Microsoft.Rtc.Collaboration.dll Microsoft.Rtc.Media.dll migbase.dll migmsg.dll RulesAuditMsg.dll ScheduleEditor.dll SIPEPS.dll sqmapi.dll |
Step 4: Registry-Schlüssel exportierenExportieren Sie die einzelnen SnapIn‘s aus der Registry (2 Dateien für Exchange 2007, 1 Datei für SCVMM 2008).Für Exchange 2007:Klicken Sie mit der rechten Maustaste auf Microsoft.Exchange.Management.PowerShell.Admin und exportieren sie diesen Registry-Zweig.
Klicken Sie mit der rechten Maustaste auf Microsoft.Exchange.Management.PowerShell.Support und exportieren sie diesen Registry-ZweigFür System Center Virtual Machine Manager 2008:Klicken Sie mit der rechten Maustaste auf Microsoft.SystemCenter.VirtualMachineManager und exportieren sie diesen Registry-Zweig.Step 5: Dateien ins Zielsystem kopierenAuf dem Zielsystem (Exchange Server 2007 bzw. SCVMM) erstellen wir unter “Program Files (x86)“ ein neues Verzeichnis: „ PowerShell_SnapIn“In dieses Verzeichnis erstellen wir für Exchange ein weiteres Subdirectory: „EX2K7“ und „SCVMM“ für System Center Virtual Machine Manager.In diese Unterverzeichnisse kopieren Sie die jeweiligen o.a. Dateien und die exportierten Reg-Dateien
| PowerShell_SnapIn | EX2K7 | Dateien für Exchange |
| SCVMM | Dateien für SCVMM |
Sollten Sie sowohl Exchange Server 2007 als auch SCVMM (auf getrennten Servern) einsetzen, können Sie hierdurch mit PowerShellPlus beide Systeme von einem Server aus managen!Step 6: Exportierte Reg-Datei anpassenÖffnen Sie die reg-Datei zum Bearbeiten (hier als Beispiel SCVMM). Die rot gekennzeichneten Teile müssen angepasst werden
| Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINESOFTWAREMicrosoftPowerShell1PowerShellSnapInsMicrosoft.SystemCenter.VirtualMachineManager] “PowerShellVersion”=”1.0″ “Vendor”=”Microsoft Corp.” “Description”=”Dieses Windows PowerShell-Snap-In enthält Cmdlets für Microsoft System Center Virtual Machine Manager 2008 zum Verwalten des Virtual Machine Manager-Servers sowie der Bibliothekserver, Hosts und virtuellen Maschinen.” “Version”=”1.0.523.0″ “ApplicationBase”=”C:\Program Files\Microsoft System Center Virtual Machine Manager 2008\bin“ “AssemblyName”=”Microsoft.SystemCenter.VirtualMachineManager, Version=1.0.523.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″ “ModuleName”=”C:\Program Files\Microsoft System Center Virtual Machine Manager 2008\bin\Microsoft.SystemCenter.VirtualMachineManager.dll“ “Types”=hex(7):76,00,69,00,72,00,74,00,75,00,61,00,6c,00,6d,00,61,00,63,00,68, 00,69,00,6e,00,65,00,6d,00,61,00,6e,00,61,00,67,00,65,00,72,00,2e,00,74,00, 79,00,70,00,65,00,73,00,2e,00,70,00,73,00,31,00,78,00,6d,00,6c,00,00,00,00, 00 |
Achten Sie beim ersetzen der Programmpfade auf korrekte Syntax: (\)
| Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINESOFTWAREMicrosoftPowerShell1PowerShellSnapInsMicrosoft.SystemCenter.VirtualMachineManager] “PowerShellVersion”=”1.0″ “Vendor”=”Microsoft Corp.” “Description”=”Dieses Windows PowerShell-Snap-In enthält Cmdlets für Microsoft System Center Virtual Machine Manager 2008 zum Verwalten des Virtual Machine Manager-Servers sowie der Bibliothekserver, Hosts und virtuellen Maschinen.” “Version”=”1.0.523.0″ “ApplicationBase”=”C:\Program Files (x86)\PowerShell_SnapIn\SCVMM“ “AssemblyName”=”Microsoft.SystemCenter.VirtualMachineManager, Version=1.0.523.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″ “ModuleName”=”C:\Program Files (x86)\PowerShell_SnapIn\SCVMM\Microsoft.SystemCenter.VirtualMachineManager.dll“ “Types”=hex(7):76,00,69,00,72,00,74,00,75,00,61,00,6c,00,6d,00,61,00,63,00,68, 00,69,00,6e,00,65,00,6d,00,61,00,6e,00,61,00,67,00,65,00,72,00,2e,00,74,00, 79,00,70,00,65,00,73,00,2e,00,70,00,73,00,31,00,78,00,6d,00,6c,00,00,00,00, 00 |
Das gleiche führen Sie für die 2 Reg-Dateien von Exchange Server 2007 aus.
Step 7: geänderte Registry Datei(en) importieren (Regedit 32 Bit) Bitte keinen Doppelklick auf die Reg-Datei. Sie wird sonst in die 64-Bit Registry eingetragen! Wechseln Sie ins Verzeichnis WindowsSysWow64 und rufen Sie dort die 32-Bit Variante Regedit auf. Importieren Sie die soeben geänderten Reg-Dateien (2x für Exchange bzw. 1x für SCVMM)Step 8: PowerShellPlus IntegrationStarten Sie PowerShellPlus. Wechseln Sie in das PowerShell Learning Center. Unter den PSSnapin.Reference finden sich jetzt weitere ReferenzenBeispiel 1:Virtual Machine ManagerBeispiel 2: Exchange und Virtual Machine Manager
Step 9: SnapIn zur PowerShell Umgebung hinzufügenDamit wir mit PowerShellPlus auch mit den neuen Befehlen des SnapIn‘s arbeiten können, müssen wir noch 2 Befehle in der Powershell eingeben:für System Center Virtual Machine Manager:
Add-PSSnapin Microsoft.SystemCenter.VirtualMachineManager
Set-ExecutionPolicy remotesigned
für Exchange Server: Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin
Set-ExecutionPolicy remotesignedZusammenfassung:
- PowershellPlus ist ein 32 BIT Programm und kann nur auf 32 BIT Snap-Ins zugreifen.
- Hilfskostruktion: Installation von Exchange Server 2007 auf einem 32Bit-Betriebssystem
- Hilfskonstruktion: Installation der Verwaltungskonsole des SCVMM 2008)
- Über die Registry exportieren wir die Schlüssel
- Über die Registry extrahieren wir die benötigten DLLs
- Die Dateien werden auf das Zielsystem kopiert
- Die Registry-Dateien werden angepasst
- Über Regedit (32 Bit) werden die bearbeiteten Dateien importiert
- In PowerShellPlus werden die SnapIns hinzugefügt
Tobias Weltner hat versprochen, diesen Vorgang mittels mehreren Powershell-Scripts zu automatisieren.
Microsoft Virtualisierung – Planung als erster Schritt (I)
Virtualisierung, mit diesem Begriff wird sich die IT-Welt die nächsten Jahre noch intensiv auseinander setzen. Mit den Produkten von Microsoft ist das schon heute machbar, wobei wir hier mit einigen Produkten konfrontiert werden, die gerade in den Markt gebracht werden oder in naher Zukunft gebracht werden.Hier möchte ich hauptsächlich über Server-Virtualisierung schreiben. In der Vergangenheit haben wir es hier mit dem Microsoft Produkt Virtual Server 2005 R2 zu tun gehabt. Dieses Produkt hat als wesentlichen Nachteil, dass es nur 32 BIT Gast-Betriebssysteme aufnehmen kann. Als nicht der richtige Kandidat für z.B. Microsoft Exchange Server 2007, welcher ausschließlich in der 64-Bit Version lieferbar ist. Mit dem seit Februar erhältlichen Betriebssystem Windows Server 2008 wird jetzt auch Hyper-V ausgeliefert. Hyper-V wird dabei als Rolle installiert. Und dann wäre für größere Umgebungen noch ein Produkt aus der System-Center Familie: System Center Virtual Machine Manager 2007 oder jetzt in der Beta-Version System Center Virtual Machine Manager 2008 Beta (SCVMM). Mit diesem Produkt kann ich viele Hosts und darauf laufende virtuelle Maschinen (VMM) verwalten. Dabei spielt es keine Rolle, ob das Virtualisierungssystem ”Virtual Server 2005″, “Hyper-V” oder “VMWare” lautet. Verwalten heißt auch Konvertieren von physikalischen Maschinen in virtuelle Maschinen (P2V). Oder aber das Umwandeln von virtuellen Maschinen in virtuelle Maschinen (V2V).Bevor wir also die unterschiedlichen Produkte unter die Lupe nehmen, erst einmal die Planung. Das Ganze an einem Beispiel:
| Name | Betriebssystem | Produkte | P / V | Kandidat |
| ISA | Windows Server 2003, 32 | ISA Server 2006 | P | Nein |
| web-hbsoft (DMZ) | Windows Server 2003, 32 | SQL 2005 | P | JA (P2V) |
| web-sqtm (DMZ) | Windows Server 2003, 32 | P | JA (P2V) | |
| HBDC10 | Windows Server 2003, 32 | Domain Controller Virtual Server 2005 R2 DFS |
P | NEIN |
| sqtm-TS2 | Windows Server 2008, 32 | Terminal Server Office 2007 |
V | JA (V2V) |
| Mail01 | Windows Server 2003, 64 | Exchange Server 2007 | P | NEIN |
| HBSM1 | Windows Server 2003, 32 | SQL Server 2005 SCOM 2007 MOSS 2007 DFS |
P | JA (P2V) |
| Fileserver2 | Windows Server 2003, 32 | Virtual Server 2005 R2 WSUS DFS |
P | JA (P2V) |
| HBDC3 | Windows Server 2003 | Domain Controller | V | JA (P2V) |
Ziel in diesem Beispiel ist die Umwandlung von 4 physikalischen Maschinen (2 davon in der DMZ) und 2 virtuellen Maschinen (derzeit unter Virtual Server 2005 R2 virtualisiert) auf eine neue physikalische Maschine mit entsprechender Leistung und Speicher zu bringen. Dazu sollen möglichst wenig externe Tools zum Einsatz kommen.Ich habe mich für eine leistungsstarke Intel Variante eines Server mit 2 Quad Xeon Prozessoren entschieden. Ich möchte Strom sparen. Deshalb drehen hier Green-IT Spindeln . Hier geht es nicht um Geschwindigkeit. Also kein SAN, kein NAS. Ausfallsicher mit Raid 10 Technologie.Meine Hoffnung, und das muss ich noch in 1,5 Jahren beweisen, ist: Durch den Wegfall von 4 physikalischen Maschinen ersetzt durch eine Neue möchte ich allein durch Reduzierung des Stromverbrauchs die Investition wieder hereinbekommen. (ROI)Nun, mitten in der Phase der Planung ist auch Hyper-V fertig geworden. Und für den System Center Virtual Machine Manager SCVMM 2007 gibt es die Variante 2008 . In der Beta-Phase . Und damit fangen die Probleme an. Dies soll nämlich das einzige Tool für die Virtualisierung werden.Anfangen möchte ich nämlich mit den beiden bereits virtualisierten Maschinen “sqtm-TS” und “HBDC3″Wie ? den nächsten Blog lesen.
