Archiv

Posts Tagged ‘PowerShellPlus’

PowerShellPlus – 32Bit & 64 Bit Snapin’s

21. August 2008 Hinterlasse einen Kommentar

PowerShellPlus – 32Bit & 64 Bit Snapin’sPowerShellPlus, eine Powershell-Erweiterung mit grafischer Oberfläche wird an Montag, 25.August als Download zur Verfügung stehen.PowerShellPlusWas 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:PowerShellPlus Learning CenterWo 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“Registry: PowerShell SnapIn'sWarum also findet PowerShellPlus dieses SnapIn nicht? Schauen wir uns doch einmal im Task Manager an, was für ein Regedit wir aufgerufen haben.Taskmanager: Regedit 64 BitRegedit 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:Taskmanager: Regedit 32 BitOk, also haben wir jetzt die 32 Bit Version. Und suchen uns dort die Stelle, wo sich die PowerShell SnapIn’s befinden müssen:Registry: PowerShell SnapIn'sNichts 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.Registry: PowerShell SnapIn'sIch 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!PowerShell SnapIn Struktur 32 BitStep 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 ManagerPowerShellPlus Learning CenterBeispiel 2: Exchange und Virtual Machine ManagerPowerShellPlus Learning CenterStep 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 remotesignedPowerShellPlus Add-PSSnapinZusammenfassung:

  • 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.VirtualisierungstechnologienHier 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:bestehende Umgebung

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. 

 

Folgen

Erhalte jeden neuen Beitrag in deinen Posteingang.

Schließe dich 82 Followern an

%d Bloggern gefällt das: