Bei der Erstellung von VMs in VMware Server 2 stehen für die virtuelle Festplatte 2 verschiedene Adaptertypen zur Auswahl: IDE oder SCSI.
Nach der Erstellung lässt sich der Adaptertyp nicht aus dem grafischen Webinterface von VMware heraus ändern. Nicht nur das: virtuelle HDDs vom Typ IDE lassen sich nicht mal vergrößern, SCSI Platten dagegen schon.

Wenn also eine IDE Festplatte voll ist kann man aus dem Webinterface von VMware Server weder den Typ noch die Größe ändern.

Es geht doch, und zwar mit dem Konsolentool „vmware-vdiskmanager.exe“.
Sucht das VMware Programm „vmware-vdiskmanager.exe“ im Installationsverzeichnis vom Server.
Der Standard wäre: C:\Programme\VMware\VMware Server\
Nun noch den Pfad der zu ändernden .vmdk (HDD der VM) kopiert und bastelt dann folgenden Befehl:

html“>“c:\Program Files (x86)\VMware\VMware Server\vmware-vdiskmanager.exe“ /x 20GB „D:\VMs\Test1\Test1.vmdk“

/x steht hierbei für „eXpand“ also erweitern und die Größe wird danach mit Wert und einer der 2 Einheiten MB oder GB angegeben.

Nun ist die Festplatte der VM größer aber die Partition immernoch unverändert. Also müsst ihr auf die VM jetzt ein Partitions Manager wie EASEUS Partition Master oder Paragon Partition Manager installieren und die gewünschte Partition vergrößern.

In der Toolreferenz stehen die restlichen Parameter und bei Google gibts es zum vdiskmanager noch viele andere Infos zu entdecken. Have fun.

So, vorm Wochenende nochmal eine Zusammenfassung, was mich die letzten Arbeitstage so beschäftigt hat und was ich draus lernen konnte.
Also, Hauptthema ist es, nicht funktionierende Gruppenrichtlinien (GPO) ordentlich zu untersuchen und den Fehler zu finden. Augenmerk lege ich jetzt vor allem auf Softwareinstallationen via GPO, hier kommt es zu den meisten Fehlern.

Zuerst:

Funktioniert mal etwas nicht mit den GPOs ist die Fehlersuche eher mühsam, da es keine zentrale Sammelstelle für Fehlerberichte gibt. Zumindest wenn man nicht den Zugriff auf den DC hat, was meistens der Fall ist. Und auch so sind die Fehler meisten clientseitig.
Das heißt unsere Suche wird vor allem auf den Computern stattfinden, bei denen die Gruppenrichtlinie nicht wie erwartet funktioniert.

Wie gehen wir also vor:

Stimmen die Gruppenrichtlinieneinstellungen?

Zuerst sollten wir bei Problemen natürlich klar stellen, dass es nicht an der Gruppenrichtlinie selbst liegt. Dazu ein Blick in das GPO.
Stimmt die Verknüpfung der GPO, richtige OU? Ist die Verknüpfung aktiviert und erzwungen? Ihr müsst sie nicht erzwingen aber spätestens bei Problemen sollte man zum Troubleshooting die Option aktivieren. Stimmen die Gruppen, auf die die Gruppenrichtlinie angewendet wird? Ist der Computer auch in der OU mit der verknüpften GP? Ist der Rechner auch in der entsprechenden (oben geprüften) Gruppe?

Stimmt alles, dann weiter zu den Details und den Einstellungen.

Stimmen die Einstellungen? Davon sollte man ausgehen. Merkt euch die Computer- und die Benutzerversion unter Details. Ist Datum und Uhrzeit der letzten Änderung richtig? Ist der Objektstatus „aktiviert“?

Nun der knackige Teil, die Delegierung. Ich würde es einfach Rechte nennen.

Stimmen die Gruppen mit ihren jeweiligen Rechten? Authenticated Users mit Lesen drin? Bei Computereinstellungen ist das eine gute Idee.
Lesen und Lesen (durch Sicherheitsfilterung) sollte bei den Gruppen stehen, die die Zielobjekte enthalten. Klickt auf Erweitert und gleich nochmal auf Erweitert. Prüft hier die Berechtigungen der Gruppen nochmal im Detail. Haben die Usergruppen die Rechte Lesen und „Gruppenrichtlinie übernehmen“? Je nach Gruppenrichtlinie solltet ihr bei den Admins das Recht „Gruppenrichtlinie übernehmen“ rausnehmen.

Stimmt alles? Gehen wir auf Nummer Sicher:
Geht in den Tab „Effektive Berechtigungen“ und gebt dort testweise eine Person/ein Computerobjekt ein, dass die Gruppenrichlinie übernehmen sollte. Und noch ein Versuch mit einem Objekt, dass die Gruppenrichlinie nicht übernehmen sollte. Ist bei beiden das „Gruppenrichtlinie übernehmen“ Recht korrekt gesetzt? 1x ja, 1x nicht. Gut.

Fehlersuche auf dem Computer

Gruppenrichtliniensatz

Zuerst lassen wir uns den Gruppenrichliniensatz auf dem Computer anzeigen, wo etwas nicht stimmt:
Windows XP:

gpresult

Windows 7:

gpresult /r

Wir schauen zuerst auf die ersten Zeilen im Kopf der Ausgabe. Links WinXP- , rechts Windows 7 Ausgabe:

Wann war die letzte Aktualisierung der Gruppenrichtlinie? Ist Datum und Uhrzeit aktuell oder liegt die letzte Aktualisierung Tage/Wochen/etc zurück? Dann solltet ihr überprüfen, warum die Gruppenrichtlinie nicht aktualisiert wird.

gpupdate /force

in die Konsole schicken und nochmal prüfen.
Von wo wurde die Richtlinie angewendet? Steht dort ein brauchbarer DC oder vielleicht sogar gar nichts oder „Nicht zutreffend“? Prüft, ob der Computer ordentlich in die Domäne eingebunden ist. Löscht ggf. das Computerprofil und nehmt den Computer neu in die Domäne.
Welche Gruppenrichtlinien wurden angewendet? Ist eure mit dabei? Wenn nicht… na dazu schreibe ich den Mist hier ja, weiterlesen.
Wurde sie gefiltert (nicht angewendet)? Dann prüft den Grund und geht der Sache nach. Google hilft bei komischen Filtergründen.
Stimmen die „Sicherheitsgruppen“? Habt ihr das Computerobjekt in die Gruppe genommen, auf die die Gruppenrichtlinie angewendet wird?

Bei meinen 2 Beispielen ist der Computer jeweils nicht in der benötigten Sicherheitsgruppe, SoftwareVertTEST, auf die die Gruppenrichtlinie angewendet wird.
So schaut es aus, wenn die Gruppenrichtlinie angewendet wurde:

Links die Konsolenausgabe von

gpresult /r

auf einem Windows 7 System. Rechts der Report, den ich mit

gpresult /h "c:\test.html"

erzeugt habe.
Es wurde jeweils die Gruppenrichtlinie übernommen. Zudem ist der Computer jetzt auch in einigen zusätzlichen Gruppen, die er braucht, um auf das Netzlaufwerk zuzugreifen. Denn dort liegen die ganzen Programme, die installiert werden sollten.
Hat euer Computer-/Benutzerobjekt Zugriff auf den Share, wo die zu installierenden Programme liegen? Geht zu dem Ordner, klickt auf Erweitert im Sicherheits-Tab, dann auf Erweitert und in den Effektive Berechtigungen Tab und lasst euch die Rechte des Test/Problemobjekts auflisten. Wenn nicht dann müsst ihr die Gruppe, auf die die Gruppenrichtlinie angewendet wird, eintragen und Rechte vergeben.

Wir sind immernoch im exportierten HTML Reports des Windows 7 Rechners. Prüft hier die Revision der angewendeten Richtlinie. Die Revision solltet ihr euch ja oben merken, die steht in den Details der GPO. Computerversion steht im HTML bei den Computereinstellungen und die Benutzerversion logischerweise weiter unten bei der Revision unter den Benutzereinstellungen. Angegeben ist diese Version mit AD (XXX), Sysvol (XXX). Computer und GPO solten hier 4x den selben Wert aufzeigen (eigentlich 8x, 4x Computer- und 4x Benutzerversion).
Auf Windows XP kann man leider keine HTML Reports erstellen (glaub ich). Mit gpresult /z /scope computer könnt ihr euch die Details der Computereinstellungen ansehen, mit /scope user detaillierte Usereinstellungen. Prüft einfach manuell, ob eure neuesten Änderungen an der GPO hier schon richtig gelistet sind.
Gruppenlinienobjekt „Nicht zutreffend“? Alte Einstellungen? Ursprung „Entferntes Paket“? Da stimmt was nicht. Auch

gpupdate /force

bringt die korrekten Einstellungen nicht zum Vorschein?

Gruppenrichtlinie lokal zurücksetzen

Öffnet die Registry und geht zum Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy. Exportiert ihn und löscht ihn komplett.
Zieht den Netzwerkstecker und macht einen Neustart. Neugestartet? LAN Kabel wieder rein,

gpupdate /force

und durch den Neustart sollte die Gruppenrichtlinie wieder komplett neu übernommen werden. Noch Probleme? Den Key nochmal löschen, mit CCleaner die Registry und den PC von Tempkram bereinigen, selbe Spiel nochmal.

gpupdate /force

und

gpresult /h

(W7) bzw

gpresult /z /scope computer

(WinXP) durchführen, Einstellungen und Revision Number überprüfen.

Computerobjekt resetten

Nehmt den Computer aus der Domäne, löscht das Computerobjekt aus der Domäne. Startet neu und nehmt den Computer (nach Objekterstellung) wieder in die Domäne. Vergesst nicht, dem Computerobjekt wieder alle Gruppen zuzuweisen, wie es sein soll.

gpupdate /force

und

gpresult /h

(W7) bzw

gpresult /z /scope computer

(WinXP) durchführen, Einstellungen und Revision Number überprüfen.

Ereignisanzeige

Hier ist Hilfestellung für mich schwer zu geben, obwohl die Ereignisse wirklich wichtige Hilfe geben können.
Auf jeden Fall solltet ihr die Protokolle von Anwendung und System überprüfen. Startet den Rechner neu und schaut bei „Datum und Uhrzeit“, wo der Neustart beginnt. Geht ab dort alle Meldungen durch, es reicht wahrscheinlich erstmal nur alle Warnungen und Fehler durchzusehen.
Hier kann verdammt viel stehen, und ich habe eine generelle Lösung für die meisten gelisteten Probleme: Google. Die meisten Fehler sind durchaus bekannt und müssen dann nur ordentlich behandelt werden, kämpft euch durch das Informationsdickicht des Internets.

Aber: Keine Panik schieben wenn dort einige Warnungen und Fehler auftauchen, die meisten sind ganz normal. Auch Meldungen zu Gruppenrichtlinienfehlern sind nicht immer ausschlaggebend. Zum Beispiel hier ein Screenshot von einem W7 PC auf dem alle Gruppenrichtlinien korrekt funktionieren und alles gut läuft:

Hier muss man einfach ein Gefühl entwickeln, welche Fehler normal sind und welche wirklich durch GPO Probleme entstehen. Wenn auf einen Computer mehrere Richtlinien angewendet werden (so ab 5 Richtlinien) dann müssen Fehler nicht unbedingt von der Richtlinie kommen, die nicht funktioniert. Nachher rennt man falschen Fehlern hinterher.

Softwareinstallationen – Fehler: %%1274 / Fehler:%%2


Fehler 1274 deutsch:
Die Zuweisung der Anwendung (…) ist fehlgeschlagen. Fehler: %%1274
Die Änderungen an den Softwareinstallationseinstellungen wurden nicht angewendet. Die Installation (…) wird bis zur nächsten Anmeldung verzögert (…) Fehler: %%1274

1274 Fehler englisch:
The assignment of application (…) The error was: %%1274
Failed to apply changes to software (…) deployment through Group Policy (…) has been delayed until the next logon (…) The error was: %%1274

Dieser Fehler hat mir die letzten Tage viele Stunden Kopfschmerzen bereitet.
Wenn also Programme nicht installiert werden, obwohl das GPO auf den Computer angewendet wird und der gpresult alles korrekt wiedergibt, dann liegt es an Fehl(de)installationen auf dem PC. Bei Softwareinstallationen via GPO kann das vorkommen, wenn man Programme fehlerhaft deinstalliert und dann versucht via GPO wieder installieren zu lassen.
So konnte ich den Fehler beheben:
Deinstalliert die Software, über die bei diesem Fehler gemeckert wird und die nicht via GPO installiert werden kann. Wenn es sich um Patches handelt deinstalliert ihr am besten das ganze Softwarepaket. Reinigt die Registry und eventuell zurückbleibende Ordner. Zieht euch das Microsoft Installer Clean Up Tool und geht die folgenden Schritte durch.

Microsoft Install Clean Up Utility

Download hier. Wird ein Programm nicht ordnungsgemäß deinstalliert oder fehlerhaft installiert (und danach von Hand gelöscht), so kann es vorkommen, dass der Microsoft Installer trotzdem noch Reste des Programms findet und es deswegen zu Problemen bei einer Neuinstallation kommt.
Das Tool „Microsoft Install Clean Up Utility“ kann diese Überreste bereinigen.
Download: 1, 2, Google

Wird eins von euren gerade deinstallierten Programmen gelistet, dann wurde es teilweise noch im System gefunden. Mit dem Tool lassen sich diese Reste auch noch entfernen.
LAN-Kabel rausziehen und neustarten (damit beim Neustart keine Installationen/Scripts via GPO diesen Vorgang behindern).
Sollte das Programm wieder in der Liste stehen kombiniert diesen Trick am besten mit dem lokalen Registry Reset (siehe oben „Gruppenrichtlinie lokal zurücksetzen“) und gezogenem LAN-Kabel.
via

Ergänzung 1: fehlerhafte GPO Softwareinstallationen einzeln(!) zurücksetzen
Es lassen sich einzelne Anwendungen einer Softwareverteilungs-GPO zurücksetzen. Ohne großartige Deinstallation und Reinigung durch das Install Clean Up Utility (s.o.) wird die GPO das Produkt eigenständig auf diesem PC neu installieren.
Dazu muss nur der korrekte Unterkey von

HKLM/Software/Microsoft/Windows/CurrentVersion/Group Policy/AppMgmt/[random SID]/

gelöscht werden. Jeder dieser SID Schlüssel in AppMgmt hat einen Wert namens „Deployment Name“, der den Namen der Software beinhaltet, die verteilt wurde (in dieser Situation fehlerhaft). Diesen Schlüssel also löschen,

gpupdate /force

, ggf. den Stand mit

gpresult /h

überprüfen, Neustart, die Software wird neu verteilt.
Mehr dazu hier im ausführlichen Artikel

Ergänzung 2: Einzelne Installationen trotz Löschung/Rücksetzung noch aktiv
Falls ein via GPO zu installierendes Paket Probleme macht und man die GPO löscht, ein Client aber trotzdem noch versucht die entsprechende msi zu installieren, muss man nebst dem GPO Eintrag (siehe oben „fehlerhafte GPO Softwareinstallationen einzeln(!) zurücksetzen“ und „Gruppenrichtlinie lokal zurücksetzen“) auch noch den Installer Eintrag unter HKLM\Software\Classes\Installer löschen! Das Paket erschien bei mir nie bei den installierten Programmen, weshalb ich es auch nicht deinstallieren konnte. Es war ja auch nie richtig installiert, aber trotzdem hat der Windows Installer sich das Produkt “gemerkt”, als wäre es installiert.
Dieser Tipp kommt von roach.

Weitergabe oder Verwendung dieser Anleitung nur mit voller Quellen- und Autorangabe! Ich bitte euch, seid fair.

So, ich hoffe einigen von euch konnte ich helfen oder zumindest einige Denkanstöße geben, die man manchmal in der Fülle der zu prüfenden Dinge einfach vergisst oder übersieht. Schönes Wochende!

Im Windows Server 2008 ist das Backup Tool „Windows Server Backup“ enthalten.

Edit/Update: Diese Serversicherung (vor allem die später beschriebene automatische Sicherung per Script) ist ein Feature von Windows Server und muss als solches also erst installiert werden. Geht dazu in den Server-Manager, auf „Features hinzufügen“ und installiert die komplette „Windows Server-Sicherungsfeatures“. Für die Befehlszeilenvariante muss auch „Windows Powershell“ mitinstalliert werden.

Mit diesem Feature sind Backups schnell erstellt, manuell oder auch automatisch. Die automatische Erstellung von Server Backups wird durch einen simplen „Sicherungszeitplan“ ermöglicht. Bei der Erstellung eines solchen Plans stehen allerdings nur 2 Zeitspannen zur Verfügung: täglich und mehrmals täglich.

Für eine seltenere Sicherung ist keine Option vorgesehen. Möchte man nun doch flexibler Backups erstellen ist ein Workaround angebracht.

Meine spontane Idee war ein Backup per Batch und diese dann per Taskplaner timen.

Wie erstellt man ein Backup per Batch? Hier der Befehl:

wbadmin start backup -backuptarget:F: -include:C:,D: -vssfull -quiet
-backuptarget

bestimmt das Ziel,

-include

die zu sichernden Quellen,

-quiet

besagt ohne UI und

-vssfull

gibt an, dass mit dem Volume Shadow Copy Service die History aller Dateien aktualisiert wird.
Mehr Infos erhaltet ihr mit

wbadmin start backup /?

.
Backups die mit Hilfe der Batch erstellt wurden werden auch im „Windows Server Backup“ Tool gelistet und können dort auch ganz normal benutzt werden. Also es geht keinerlei Funktionalität durch die CMD verloren.

Die erstellte Batch können wir jetzt per „Aufgabenplanung“ automatisch ausführen lassen, in meinem Fall einmal wöchentlich.
Um eine etwas bessere Kontrolle über das Ergebniss der Sicherung zu haben empfehle ich die Batch auszubauen:

set logfile="C:\backuplog.txt"
echo ########################## %computername%: %date% - %time% >> %logfile%
echo. >> %logfile%
wbadmin start backup -backuptarget:F: -include:C:,D: -vssfull -quiet >> %logfile%
echo. >> %logfile%
echo ########################## %computername%: %date% - %time% >> %logfile%

Wir setzen den Pfad zu einer Logdatei in die Variable

logfile

und geben vor dem Backupvorgang und danach einige Informationen dazu. An unsere bekannte Zeile 4 hängen wir die Umleitung

>> %logfile%

an.
Die Textdatei sieht nach einem Backupvorgang ungefähr so aus:

Der Aufgabenplaner sollte die Batch nach Plan ausführen, diese sollte ein tolles Backup erstellen und den Vorgang in die Logdatei schreiben und das Server Backup Tool sollte die Sicherung erkennen.
Links die manuellen Tests und rechts das Backup am Samstag.

Das wars! Vielleicht etwas unprofessionell aber es funktioniert 1A!

Update: Ich habe das Script noch weiter ausgebaut und möchte euch das natürlich nicht vorenthalten. Das Sicherungsziel wird jetzt über eine Variable angesprochen. Diese wird erst auf Ort 1 gesetzt und falls dieser – aus welchen Grund auch immer – nicht erreichbar ist wird ein Ort 2 als Alternative gesetzt. Hier ließen sich natürlich weitere Alternativen einbauen, es sollte aber eher die Bemühung es Admins sein, einen zuverlässigen Ort zu arrangieren 😉
Das Backup wird jetzt mit -allCritical und -systemState ausgeführt und sicher somit systemkritische Dateien aller Art mit.
Update 20.07.2011: -systemState gibt es nicht mehr!? Vorerst entfernt.
Bei einem Fehlschlag wird die Logdatei entsprechend geschrieben und eine Alarmmail via Batch Mailer an die Admins abgesetzt. Wie ihr diesen Batch Mailer aufsetzt steht hier.

@echo on
if not exist Z: net use Z: \\server\*** /user:***
set logfile="C:\backuplog.txt"
::error mail reciever
set mailto=***@***.***
for /f "skip=1 tokens=2 delims=[]" %%* in ('ping.exe -n 1 -4 %computername%') Do (set "IP=%%*") 
for /f "tokens=1,2,3,4 delims=." %%a in ("%IP%") do set IPb1=%%a&set IPb2=%%b&set IPb3=%%c&set IPb4=%%d

set target=\\server\***

echo ########################## %computername%: %date% - %time% >> %logfile%
echo. >> %logfile%
wbadmin start backup -backuptarget:%target% -include:C: -vssfull -allCritical -quiet >> %logfile%
set backuperrorlevel=%errorlevel%
if "%backuperrorlevel%"=="0" (goto end) else (goto fehler)

:fehler
echo. >> %logfile%
echo. >> %logfile%
echo ______________________________ >> %logfile%
echo ****************************** >> %logfile%
echo ****************************** >> %logfile%
echo  Ein Fehler ist aufgetreten!!  >> %logfile%
echo ****************************** >> %logfile%
echo ****************************** >> %logfile%
echo Errorlevel: %backuperrorlevel% >> %logfile%
echo. >> %logfile%
echo. >> %logfile%
:: Batch Mailer
:: http://hannes-schurig.de/23/06/2011/batch-mailer-email-aus-batch-script-schicken/
:: sendet eine Mail an und meldet fehlgeschlagenes Backup
start "iexplore" "https://stuff.it-stack.de/mailer.php?******&contactname=.%IPb4% %computername%&subject=Backup fehlgeschlagen &email=***@***.***&message=Das woechentliche automatische Backup auf: .%IPb4% "%computername%" ist fehlgeschlagen || Errorlevel: %backuperrorlevel%&mailto=%mailto%"
::20 Sekunden warten und Internet Explorer Fenster schließen
ping 127.0.0.1 -n 20
taskkill /im "iexplore.exe"
ping 127.0.0.1 -n 5

:end
echo. >> %logfile%
echo ########################## %computername%: %date% - %time% >> %logfile%
echo ########################### Errorlevel: %backuperrorlevel% >> %logfile%
echo. >> %logfile%
exit

To-Do: Logdatei beim Fehler als E-Mail Anhang mitschicken. Keine Ahnung, wie ich das mache. Ideen?

Ich habe gerade die Computerprofile in unserer OU etwas aufräumen wollen. Beim Löschen ungenutzter Computer, die sich ohne weitere Abfragen einfach löschen ließen, kam bei diesem Computerprofil folgende Hinweismeldung:

„Object [computername] is a container and contains other objects. Are you sure you want to delete object [computername] and the objects it contains? This operation could take a long time if [computername] contains a large number of objects“.

Normalerweise sind Computerprofile in einer OU die kleinste Einheit, enthalten also (sichtbar) keine weiteren Objekte. Computer können aber z.B. Drucker für das AD freigeben, in diesem Fall wird das Computerprofil zu einem Kontainer und die kleinste Einheit wäre dann der Drucker, enthalten im Computer.

Und um nachzuprüfen, ob in diesem Computer noch Objekte stecken, könnt ihr im ADU&C folgende Ansicht aktivieren: „Users, Groups, and Computers as Container“
windows-active-directory-computers-container

Sucht euch dann den Computer aus und klickt ihn an, rechts erscheinen dann seine „Inhalte“, wenn vorhanden.

Tools zum Verändern der Registry gibt es sicher viele, folgendes Tool bietet aber interessante Nebenfunktionen.

Der Registry System Wizard listet euch die Registry nicht in den gewohnten 5 Strängen auf sondern sortiert alle relevanten Registryeinträge ordentlich benannt und gruppiert nach Themengebiet. So finden sich in der Übersicht Gruppen wie „Installation“, „Windows starten/beenden“, „Arbeitsoberfläche und Explorer“ mit Unterordnern wie „Kontextmenü“, „Sidebar“, „Startmenü“ oder „Systemsteuerung“.
registry-systen-wizard

Das Suchen in den Tiiieeefen der Registry nach kryptischen Einträgen wie „MenuShowDelay“ oder „ClearPageFileAtShutdown“ wird ersetzt durch eine Suchfunktion und verständliche Umschreibungen wie „Legt fest, ob die Auslagerungsdatei überschrieben werden soll“. Sollte diese Umschreibung nicht so klar sein gibt es zu jedem Eintrag eine meist mehrzeilige Beschreibung mit weiteren Details.
Zusätzlich wird zu jedem Schlüssel der Hauptzweig der Registry gezeigt, ob der Schlüssel bereits aktiviert ist, ggf. mit welchem Wert usw.
registry-systen-wizard-eintrag

Der eigentliche Grund, weswegen ich den RSW am Wickel hatte sind 2 andere Funktionen: die Änderungen in der Registry lassen sich in ADM oder REG Files festhalten. Ich kann einige Änderungen vornehmen und anhand der ADM Datei diese Änderungen über eine Gruppenrichtlinie auf alle Rechner eines Active Directories übertragen. Oder die REG Datei per Script von allen Rechnern importieren lassen.
Wunderbare Sache, getestet und funktioniert 1a.
registry-systen-wizard-adm

Man kann nach Betriebssystem filtern. So fallen nach Auswählen von Windows XP viele alte Registryschlüssel von 95/98/NT Zeiten raus. Windows 7 ist hier leider noch nicht verfügbar, Vista und 2008 jedoch schon. Da das Programm relativ häufig Updates erfährt wird das vielleicht bald ergänzt.

Tolles Tool, leider Shareware. Die 30-Tage-Testversion bietet alle Funktionen, manche Funktionen erfordern jedoch 15 Sekunden Warten, bevor es weitergeht.
Preise und anderes Kaufgedöns gibts hier im WinFAQ Shop.

Einleitung & Infos

1257430764_gnome-app-installMSI Pakete sind grob umschrieben Installationsdateien wie .exe Installer. Sie haben jedoch den Vorteil, dass sie in einer Art Datenbank Daten aufnehmen können, die man ihnen zusteckt. So kann ich also in eine MSI Installationsdatei einer Software bereits den Produktkey integrieren und dieser wird dann während der Installation automatisch eingetragen.
MSI Dateien werden oft benutzt um Softwareinstallationen ohne Benutzerinteraktion zu installieren. Sie können dann auch versteckt ausgeführt werden, der Benutzer bekommt dann von der Installation gar nichts mit.
Möchte man Software über Gruppenrichtlinien installieren, brauch man diese MSI Dateien (alternativ auch MST oder andere Formate, die aber ähnlich sind).

Man sollte als Administrator also wissen, wie man MSI Installationsdateien erstellt. Viele Programme bieten im Netz auch MSI Dateien parallel zu den normalen .exe Installern an, wie zum Beispiel Frontmotion Firefox, der MSI Pendant zum Firefox. Große Softwareprodukte wie Office, Acrobat Pro, Photoshop, bla haben sowieso immer eine MSI Datei mit auf der CD. Trotzdem bleiben 95% ohne MSI und deswegen lohnt sich das Tutorial.

Der Vorgang ist erstaunlich komplex und hat viele Tücken und Fehler auf Lager. Also aufmerksam Lesen, Verstehen und nicht schnell durchklicken.

Vorbereitung

Zuerst braucht ihr die Software WinINSTALL LE, Download hier.
Installieren und starten
Die Software, von der ihr die MSI erstellen wollt, darf nicht installiert sein. Deinstalliert sie notfalls vorher. Haltet die normale Installationsdatei bereit, in meinem Beispiel Paint.NET 3.5 mit .exe Installer.
Während des ganzen Prozederes darf bis auf WinINSTALL KEIN Programm laufen! Kein Firefox, kein Musikplayer, das wird euch am Ende sonst richtig Stress machen!

MSI Creation

Zuerst klickt ihr in WinINSTALL LE auf das Discover Icon (die Lupe) und startet damit den Discover Prozess ohne weitere Parameter.
msi-installer-mit-wininstall-le-erstellen-1-rundiscover

Der Assistent startet sich. Ein Klick auf Weiter und dann müsst ihr den Namen des Projekts angeben. Der Pfad und der Name der .msi wird automatisch ergänzt.
Der Zielordner sollte sich im WinINSTALL LE Programmordner befinden, normalerweise C:\Programme\OnDemand\WinINSTALL\Packages\ bzw. %programfiles%\OnDemand\WinINSTALL\Packages\. Dieser Ordner wurde entsprechend vorbereitet.
Mein Testdurchlauf mit Desktop als Zielordner endete in mehreren fehlerhaften Durchläufen und viel verschwendeter Zeit.
msi-installer-mit-wininstall-le-erstellen-3-pfad

Die nächsten 2 Schritte fragen ab, welches euer „working drive“ und euer „installation drive“ ist. Auf dem „working drive“ landen temporäre Dateien, „installation drive“ sollte klar sein. Beides C: in meinem Fall.
Die 2 Schritte danach fragen „exclusion files“ und „exclusion registry keys“ ab. Belasst alles so und klickt weiter.

Jetzt sind alle Informationen da und der „Before“ Scan startet und zeichnet den Stand des System vor der Installation auf.
Hier sei nochmal erwähnt, KEINE PROGRAMME laufen zu haben, ausser WinINSTALL.
Der Scan wird je nach System 1-5 Minuten dauern und (hoffentlich) mit diesem Fenster beendet:
msi-installer-mit-wininstall-le-erstellen-4-before

Wie die Meldung schon verkündet, ihr sollt jetzt die Installer starten. Nach dem Klick auf [OK] öffnet sich ein Durchsuchen-Fenster, ihr sucht euch die Installer.exe raus und startet sie.
msi-installer-mit-wininstall-le-erstellen-5-runinstaller

Bei der Installation der Software darauf achten, dass sie „für alle Benutzer“ installiert wird, Konfigurationsdateien im Programmordner, nicht unter den persönlichen Anwendungsdaten, gespeichert werden. Die Installation sollte nichts im „Dokumente und Einstellungen“ (bzw. „Users“) Tree abspeichern, ausser im „All Users“ Ordner. Werden Dateien in den „Dokumente und Einstellungen\[Benutzername]“ installiert, wird das bei anderen Benutzern Probleme machen. Dazu aber mehr später.

Installation abgeschlossen?
Dann müsst ihr in WinINSTALL LE wieder den Discover Button drücken und bestätigen, damit sich der Assistent wieder startet. Dieser erkennt den laufenden Prozess und bietet euch nun an, einen „Danach“ Snapshot zu erstellen und die Änderungen heraus zu kristallisieren.
msi-installer-mit-wininstall-le-erstellen-6-runafter

Der Vorgang wird wieder 1-5 Minuten dauern und danach (hoffentlich) ohne Fehlermeldungen seinen Erfolg verkünden. Geht nun mal in das Verzeichnis, das ihr im 2. Schritt als Zielpfad ausgewählt habt, „%programfiles%\OnDemand\WinINSTALL\Packages\Projektname„, dort müsste das Bild etwa so aussehen:
msi-installer-mit-wininstall-le-erstellen-7-rawmsi
Ist hier der Ordner „Dokumente und Einstellungen“ vorhanden, schaut rein, in welche Profile Dateien bewegt werden. Ist ausser All User noch ein anderer Benutzerordner vorhanden, prüft die Dateien und löscht sie ggf. Dazu aber mehr in der Troubleshooting Section.

Ihr geht vielleicht davon aus, das wars. Allerdings wird die MSI Datei nur irgendwas zwischen 100 und 500kb groß sein. Dort sind nämlich noch nicht all die Dateien integriert, die in den Ordner stecken. Das ist der nächste Schritt, die MSI „standalone machen“.

In WinINSTALL, rechts-klickt „Windows Installer Packages“ und importiert eure MSI. Hier unbedingt „Copy Package Source Files“ aktivieren! Eine sinnvolle Description eingeben, die wird (glaube ich zumindest) später nach der Installation in der Systemsteuerung->Software angezeigt.
msi-installer-mit-wininstall-le-erstellen-8-import-compress
Nach dem Rechtsklick auf das Paket und „Compress…“ erscheint ein kleines Fenster, hier einfach OK drücken und dann sollte WinINSTALL die MSI und die Daten zusammenfassen. Das kann bis zu einer Minute dauern. Jetzt solltet ihr in dem Ordner, den ihr gerade als Pfad angegeben habt, eine große MSI Datei haben.

Das wars 🙂

Die MSI installiert sich per Doppelklick ohne weitere Benutzereingaben zu fordern. Wie sich das Programm installiert habt ihr ja bei der manuellen Installation festgelegt.
msi-installer-mit-wininstall-le-erstellen-10-fertig

Joah, noch Fragen, Ideen, Verbesserungen, Fehler, something? Mail me

Troubleshooting

Beim Erstellen der MSI:
Error: source files must begin with @SourceDir: DesktopFolder\Dokumente und Einstellungen\[user]\Anwendungsdaten\Mozilla\Firefox\Profiles\5epbvr49.default\formhistory.sqlite
msi-installer-mit-wininstall-le-erstellen-err-after2Hier konnte eine Datei nicht kopiert werden. Der häufigste Grund war, dass diese Datei während des „Danach“ Snapshots gerade in Benutzung war und deswegen nicht kopiert werden durfte. Das erfahrt ihr auch durch einen „File copy error“ bzw „Failed to copy“:

Beim „Compress…“ der MSI:
Error: unable to compress file \\Computername\WinInstall\Packages\Programm\langer\blöder\Pfad\EvtlMitDatei.tmp into cabinet \\Computername\WinInstall\Packages\Programm\Irgendeine.cab: Error opening input file: 1 (0)
Wenn ihr das MSI File in das Programm importiert müsst ihr darauf achten, dass „Copy Package Source Files“ aktiviert ist, unbedingt Häkchen setzen!

Digitale Archivierung wird mit dem exponentiellen Anstieg von digitalen Daten immer schwieriger.
Der ebenso starke Anstieg an immer günstigeren Speichermedien hilft da leider nicht. Denn man neigt mit mehr Speicherplatz auch nur dazu, weniger Ordnung zu halten. Man mistet sich total ein.
Zumal es sogar bei neuesten Datenträgern zu Ausfällen und Fehlern kommen kann; je mehr Speichermedien man hat desto anfälliger wird man also.
Ein gutes Archivierungssystem muss also Daten performant entgegennehmen, sie gut organisieren und gut auffindbar halten und für eine zuverlässige Sicherung der Datenbestände sorgen.

An dieser Stelle möchte ich euch den Archiv Server BvLArchivio vorstellen.
Dieses Komplettsystem überzeugt nicht nur durch einfache Handhabbarkeit, sondern bietet zudem immense Kostenvorteile und ein Höchstmaß an Datensicherheit.

Wie funktioniert es?
BvLArchivServer_FrontBvLArchivio ist das erste Fertigbox-System für die digitale Archivierung. Nach dem Prinzip „Plug and play“ wird die 30 x 40 x 30 Zentimeter große Box an Netzwerk und Stromnetz angeschlossen und ist sofort einsatzbereit – lediglich ein Browser für den Zugriff ist erforderlich. Der enorme Schulungs-, Zeit- und Kostenaufwand, der sich normalerweise ergeben würde, entfällt also komplett.

Im Umfang sind 3 Festplatten enthalten. Eine 500GB Datenplatte und 2 Sicherungsplatten für die nötige Sicherheit.
Die Daten werden in einem eigens für das System entwickelten Datenbanksystem gespeichert, das bis zu 1 Milliarde Datensätze fassen kann.
Eine Volltext-Verschlagwortung in Kombination mit einer Barcode-Kennung zur Archivzuweisung (Stempel oder Aufkleber) erübrigt dabei jegliche Nachbearbeitung.
Während jeder Mitarbeiter das Archiv zu Recherchezwecken über die Google-ähnliche BvLArchivio-Suchmaschine nutzen kann, lässt sich die Archivierungsbefugnis über die Vergabe von Schlüsseln regeln. Schnittstellen ermöglichen zudem das automatisierte Archivieren beispielsweise aus Buchhaltungsprogrammen.

Die Archivierung der Dateien erfolgt direkt vom PC in jeglichem Format, bei Papierdokumenten durch einfachen Scan.

Mehr Informationen gibt in der digitalen Broschüre.
Das alles klingt robust und ihr sucht nach einer vernünftigen Lösung für ein platzsparendes Archiv?
Dann werft einen Blick auf die Preisliste und durchforstet die Produktseite.