Re-Import VMs into Hyper-V
Normaly you can only import a Virtual Machine (VM) into Hyper-V if you have exported it. If you lose your Hyper-V settings or have to import it into a new Hyper-V Server in case of a desaster recovery than you can use the steps descripted in this (and other) blog post: http://blogs.msdn.com/b/robertvi/archive/2008/12/19/howto-manually-add-a-vm-configuration-to-hyper-v.aspx
The problem is that you have to handle many long pathes and cryptical GUIDs. I had to do that for a bunch of different VMs and being chronical lacy I created three batch files for it:
- importVM.cmd “GUID” “Path to Virtual Machine” creates the link and corrects the permissions on the link and the vm folder
- importSnapshot.cmd “SnapshotGuid” “VMGuid” “Path to Snapshot” creates the snapshot link and the right permission.
Not very impressiv? Well, the third batch files combines this two scripts:
- addMachine.cmd: Takes the basis path (the path where the sub-folder Virtual Machine, Snapshots exists) and extracts the VM-GUID, all Snapshots-GUIDs and the other pathes to automaticly create the links and permissions.
So with one simple command (addMachine.cmd C:\ClusterStorage\Volume4\VM1) you can import the complete VM.
— addMachine.cmd ——
Automatisch bestimmte Zertifikate auf Computern löschen
Es kann vorkommen, dass aufgrund eines Problems mit einer Zertifikatsvorlage alle Zertifikate davon auf den Clients gelöscht werden sollen, um einen sauberen Stand auf den Computern zu haben.
Dazu habe ich eine kleine Batchdatei geschrieben, das alle Zertifikate im Computerstore ausliest und anhand der Seriennummer die Vorlage des Zertifikates ermittelt. Stimmt der Name der Vorlage mit dem angegebenen Vorlagenname (hier Vorlagename) überein, dann wird es gelöscht.
Fehlermeldung bei der Installation des RSAT auf Win7 mit SP1
Wenn beim Versuch der Installation des Remote Server Administration Tools auf einem Windows 7 mit Service Pack 1 folgende Fehlermeldung bekommt:
(Das Update ist nicht für Ihren Computer geeignet), der kann mit folgendem Skript aus dem Technet (s.u. Kommentare, http://technet.microsoft.com/en-us/library/ee449475%28v=ws.10%29.aspx) die Installation trotzdem durchführen:
Für das x86 RSAT:
(x86.cmd)
MD C:\RSAT
expand -f:* “%~dp0x86fre_GRMRSAT_MSU.msu” C:\RSAT
CD\RSAT
pkgmgr.exe /n:C:\RSAT\Windows6.1-KB958830-x86.xml
pause
Versteckte Windows Features Part IV
Migriert man einen Druckserver in eine neue Domäne, so gibt es häufig Probleme mit dem Publizieren der Drucker im Active Directory (ADS). Bei einzelnen Druckern hilft es den Hacken im AD veröffentlich zu entfernen, übernehmen und wieder zu setzen. Gerade bei vielen Druckern macht dies natürlichen keinen Spaß. Und IT soll ja Spaß machen :-)
Daher hat Microsoft auch hier eine Komandozeilenalternative bereitgestellt: setprinter
Flash: Wie installiere ich einen Windows 2008 R2 Core Domänen Controller
Ich habe mal mit Wink die Installation eines W2k8 R2 DCs aufgezeichnet. Das Vorgehen ist denkbar einfach:
- W2k8 R2 Core installieren (von DVD booten)
- Mittels sconfig.cmd den Rechner umbenennen
- Eine unattend.ini erstellen. Details dazu unter http://support.microsoft.com/kb/947034 (Ergänzung Forest/Domainlevel 4 ist Windows 2008 R2)
- In der unattend.ini muss das recovery Passwort hinterlegt werden (im Flash mittels * dargestellt, muss aber eine höhere Komplexität haben)
- dcpromo /unattend:unattend.ini aufrufen
- Neustarten
Und das alles in einem kurzen Film:
Diverse Tools für SCCM – Teil 2
Im letzten Teil habe ich beschrieben, wie man mit einer einfachen Batchdatei remote eine Hardwareinventur anstoßen kann. Was ist aber, wenn man dies auf mehreren PCs gleichzeitig machen will? Z.B. bei allen PCs, die eine bestimmte Software angeboten bekommen und somit in einer SCCM Collection sind?
Auch da hilft eine kleine Batchdatei:
starthinvall.cmd
for /F %%i in (‘cscript.exe //NOLOGO %~dp0getcomputer.vbs %1 siteserver sitename’) do call %~dp0starthinv.cmd %%i
Aufgerufen wird die Batchdatei mit den Namen der Collection, in der die Zielclients sind. Das passende getcomputer.vbs verbindet sich dann mit dem hinterlegten Siteserver und fragt in der angegebenen Site (sitename) die in der Collection hinterlegten Computer ab. Die Ausgabe (ein Computer pro Zeile) wird von der For Schleife abgefangen und an die starthinv.cmd weitergegeben.
Diverse Tools für SCCM – Teil 1
Ich werde hier ab jetzt regelmäßig ein paar kleine Skripte rund um den System Center Configuration Manager (SCCM) bereitstellen. Geschrieben sind sie teilweise schon für SMS 2003 und funktionieren auch noch mit 2007.
Als erstes ein kleines Skript, um remote auf einem Client die Hardwareinventur anzustoßen:
@echo off
set PC=%1
if .%PC%==. set /p PC=Enter Computer Name to start HINV:
call %~dp0findip.bat %PC%
if %ip%.==. goto fehler
echo Start Hardware Inventur %PC%
cscript.exe //Nologo %~dp0sendsched.vbs {00000000-0000-0000-0000-000000000001} %PC%
goto ende
:fehler
echo Abbruch, da Rechner %PC% auf ping nicht antwortet.
:ende
set ip=
Rollout von WinZip 12 mit SCCM
Hier mal eine kleine Batchdatei zur Verteilung von WinZip inkl. des Lizenzfiles:
@echo off
rem alte winzip version deinstallieren
MsiExec.exe /X{CD95F661-A5C4-44F5-A6AA-ECDD91C240B5} /l* %systemroot%\deinstall_winzip111.log /qn REBOOT=REALLYSUPPRESS
rem copy Lizenzfile to all Users profile
md “%ALLUSERSPROFILE%\WinZip”
copy /y “%~dp0winzip.wzmul” “%ALLUSERSPROFILE%\WinZip”
rem neue Version installieren:
rem Erklärung der Parameter:
rem /noqp = no quickpick icon in system tray
rem /notip = no tip of the day
rem /noc4u = don’t check for updates
Hostdatei zu DNS Einträgen umwandeln
Ich hatte die Anforderung eine relative lange Hostdatei in DNS Einträge auf einen Windows DNS umzuwandeln. Natürlich war ich zu faul zum Abtippen. Mit dnscmd.exe und einer Batchdatei ist das auch nicht mehr nötig:
for /f “tokens=1-4” %%a in (%1) do (
echo %%a – %%b – %%c
dnscmd.exe DNSSERVER /recordadd %%c /createPTR A %%a
)
Die Hostdatei muss etwas angepasst werden: Unnötige Kommentarzeilen entfernen und mehrfache Leerzeichen durch ein Leerzeichen zwischen den Hosteinträgen ersetzen (z.B. search und replace von zwei Leerzeichen durch ein Leerzeichen und das mehrfach).
Security: VM kann Code in ESX ausführen
Ich habe gerade einen interessanten KB Artikel bei VMWare gefunden: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1009852
Darin wird ein Update vorgestellt, dass eine Sicherheitslücke schließt, die es ermöglicht aus einer Virtuellen Maschine (VM) Code auf dem Host System (in diesem Fall ESX 3.5) auszuführen. Leider stehen auch im CVE Eintrag keine Details.
Viele Virtualisierungsgegner haben immer genau davor gewarnt. Aber es hieß immer, dass VMWare ESX so sicher ist, dass so was nicht vorkommen kann. Der Artikel zeigt jetzt etwas anderes. Wie riskant die Lücke ist, kann ich nicht einschätzen. Aber allein die Existenz ist natürlich Wasser auf die Mühlen der Virtualisierungsskeptiker.