Wenn man eine Virtuelle Maschine (VM) im Hyper-V-Manager oder per PowerShell löscht, dann entfernt Hyper-V diese aus seiner Konfiguration, lässt die zugehörigen virtuellen Festplatten aber im Dateisystem. Das ist praktisch, falls man eine solche VM später noch einmal verwenden möchte, denn ihre Daten und der wichtigste Teil ihrer Konfiguration (nämlich das VM-Betriebssystem) bleiben so erhalten.
In manchen Situationen ist es aber hinderlich, dass die “äußere” Konfiguration der VM beim Löschen verschwindet. Dazu gehören die virtuellen CPUs, die RAM-Konfiguration und die virtuellen Netzwerkkarten, aber auch die eindeutige ID der VM. Zwar kann man diese “VM-Hülle” meist recht schnell neu erzeugen, aber auch das hat Nachteile. So entstehen dabei etwa neue virtuelle Netzwerkkarten, die das vorhandene VM-Betriebssystem neu einrichtet, wodurch die vorhandene IP-Konfiguration unwirksam wird.
Eine Abhilfe bestünde darin, eine solche VM vor dem Löschen zu exportieren. Den so erzeugten Export kann man später wieder importieren oder schlicht registrieren. Dadurch arbeitet die betreffende VM wieder wie vorher. Der Nachteil: Das ist ein wenig umständlich, außerdem ändern sich dadurch evtl. Speicherpfade.
Während man also eine vorhandene VM (die z.B. einfach komplett im Host-Dateisystem kopiert wurde) einfach registrieren kann, fehlt das Gegenstück, das “Ent-Registrieren”. Hier hilft ein kleines PowerShell-Skript, das die Konfigurationsdaten der VM vor dem Löschen sichert und sie danach wieder in den vorgesehenen Ordner zurück kopiert.
$VMName = Read-Host 'Enter VM name'
# get VM data
$VMData = Get-VM $VMName -ErrorAction SilentlyContinue
if (!$VMData) {
"VM $VMName not found."
Return
}
# get config folder
$VMConfLoc = $VMData.ConfigurationLocation
# save VM metadata
$VMBackupLoc = $VMConfLoc + '\_VMConf\'
Copy-Item -Path ($VMConfLoc + '\Virtual Machines') -Destination $VMBackupLoc -Recurse
# remove the VM
Remove-VM -Name $VMName -Force
# restore VM metadata
Copy-Item -Path ($VMBackupLoc + '*') -Destination ($VMConfLoc + '\Virtual Machines') -Recurse
# remove the backup folder
Remove-Item $VMBackupLoc -Recurse
"$VMName successfully unregistered."
"Find its configuration data at $VMConfLoc"
Hier der Download:
Unregister-VM.ps1 (480 bytes, 1.618-mal heruntergeladen, letzte Änderung am 20. Dezember 2019)
Kurzlink zu diesem Artikel:
http://faq-o-matic.net/?p=8475
Wer dieser Tage versucht, den beliebten Texteditor Notepad++ über seine Update-Funktion zu aktualisieren, wird wahrscheinlich auf Probleme stoßen. Der Download funktioniert auf diesem Wege nicht.
Der Entwickler der Software gibt auf seiner News-Seite einen Hinweis auf die wahrscheinliche Ursache. Die letzten beiden Versionen hat er mit einem Namen versehen, der sich auf den Uiguren-Konflikt in China bezieht. Das habe zu DDOS-Attacken geführt. Hier wird der Grund für die Update-Probleme zu suchen sein.
Ein manueller Download über die Webseite funktioniert. Die herunterzuladende Datei scheint aktuell nicht manipuliert zu sein.
Kurzlink zu diesem Artikel:
http://faq-o-matic.net/?p=8472
Um in einem klassischen Windows-Batch ein Kommando für alle Domänencontroller der aktuellen Domäne auszuführen, eignet sich folgender Code:
for /f "skip=2" %%a in ('netdom query dc^|find /V "."') do @echo %%a
Dieser Code bereinigt die Ausgabe von “netdom query dc” um alles, was kein Domänencontroller-Name ist. Versucht man das direkt in der Kommandozeile, gibt man nur jeweils ein Prozentzeichen an:
for /f "skip=2" %a in ('netdom query dc^|find /V "."') do @echo %a
Statt @echo %%a füge man das Kommando ein, das man für jeden DC-Namen ausführen möchte. Ein Ping ginge dann in einem Batch z.B. so:
for /f "skip=2" %%a in ('netdom query dc^|find /V "."') do (@ping -n 1 %%a)
Kurzlink zu diesem Artikel:
http://faq-o-matic.net/?p=8462
Nir Sofer, Autor zahlreicher wichtiger Admintools für Windows, hat auf unseren Hinweis hin einen Fehler in seinem Eventlog-Manager FullEventLogView behoben. Der Bug verhinderte es, per Kommandozeile die Ereignisprotokolle eines anderen Rechners zu exportieren.
In der neuen Fassung v1.38 ist der Fehler behoben. Damit ist es jetzt (wieder) möglich, Ereignisse aus den Windows-Eventlogs von einem Remote-Rechner über die Kommandozeile in eine CSV-Datei zu exportieren. Dies klappt mit einem Kommando nach folgender Art:
FullEventLogView.exe /scomma "c:\some\path\file.csv" /datasource 2 /computername SERVER007
Hier geht es zum Download:
[FullEventLogView – Event Log Viewer for Windows 10 / 8 / 7 / Vista]
http://www.nirsoft.net/utils/full_event_log_view.html
Kurzlink zu diesem Artikel:
http://faq-o-matic.net/?p=8464
Komischerweise nehmen die Missverständnisse über die CPU-Belastung durch Virtualisierung deutlich zu, seit die CPUs mit Kernen nur noch so um sich werfen. Daher hier noch mal ausdrücklich:
- Es ist generell überhaupt kein Problem, die CPU eines Virtualisierungs-Hosts zu überbuchen. Ganz im Gegenteil: Genau dafür ist Virtualisierung da.
- Eine CPU kümmert sich auch ohne Virtualisierung nie nur um eine Aufgabe, sondern schaltet ständig zwischen Aufgaben hin und her. Ob es sich dabei um verschiedene Programme innerhalb eines Betriebssystems handelt oder um verschiedene Programme innerhalb mehrerer Betriebssysteme, ist der CPU am Ende egal.
- „Gängige“ Anwendungen lasten eine CPU (oder auch einen Kern) niemals auch nur ansatzweise aus. Dadurch ist die CPU statistisch gesehen fast immer im Leerlauf.
- In der Praxis ist eine CPU-Überbuchung von 10:1 fast nie ein Problem. Auch eine Überbuchung von 20:1 kann durchaus funktionieren. Heißt: Ein Beispiel-Host habe 8 Cores, dort laufen 40 „gemischte“ VMs, die jeweils 2 Cores haben (Verhältnis 10:1). Mit großer Wahrscheinlichkeit wird die CPU nicht der Engpass sein. (Wahrscheinlich wird man vorher feststellen, dass das RAM nicht reicht.)
- Ein Verhältnis von 5:1 (also: fünf vCPUs zu einem physischen Core) ist als generelle Richtlinie üblich, dabei bleiben für “allgemeine” Anforderungen noch genügend Reserven.
- Wenn die VMs (einzelne oder alle) wirklich höhere Anforderungen stellen (Terminalserver, stark belastete Datenbankserver usw.), kann mehr Designaufwand erforderlich sein. Selbst dann ist in den meisten Fällen aber noch eine CPU-Überbuchung möglich.
- Ein 1:1-Verhältnis zwischen physischem Core und VM-CPU ist technisch praktisch nie erforderlich.
Kurzlink zu diesem Artikel:
http://faq-o-matic.net/?p=8460
Dieser Tage bekam ich eine schöne Mail. Lest selbst.
Von: Paul
Betreff: Re: Nachverfolgen
Lieber Freund,
Mein Name ist Paul Raphael und ich arbeite als Exekutive Schraubstock Vorsitzende bei einer der Filialen der UBS Investition Bank auf London.
Können Sie als Kompagnon einer vertraulichen Beziehung vertrauen und bereit sein, als Weiter von Kin/Erbe und Begünstigter einer nicht beanspruchten Summe von 22,3 Millionen Pfund Sterling in meiner Bank vorgestellt zu werden? Die Gelder gehören einem verstorbenen Kunden, der zusammen mit seiner Familie bei einem Flugzeugabsturz ohne Weiter von Kin/Erbe oder Spuren einer nächsten bekannten Familie ums Leben gekommen ist.
Bitte beachten Sie, dass dies zu 100% risikofrei ist und juristisch durchgeführt wird, ohne dass Gesetze verletzt werden.
Wenn Sie können, bestätigen Sie bitte die folgenden Informationen:
• VOLLSTÄNDIGER NAME
• WOHNADRESSE
• …
• ALTER
Wenn Sie das oben Gesagte erneut bestätigen, werde ich Ihnen ausführliche Informationen darüber geben, wie Sie die Gelder erfolgreich und juristisch in Ihrem Namen beanspruchen können.
Ihre Antwort wird sehr geschätzt.
Mit freundlichen Grüßen,
Paul Raphael.
Kurzlink zu diesem Artikel:
http://faq-o-matic.net/?p=8458
Die Organisatoren der cim in Lingen haben nun die Videos der 2019er-Konferenz für die einzelnen Sessions veröffentlicht.
Kurzlink zu diesem Artikel:
http://faq-o-matic.net/?p=8456
Die Sessions der diesjährigen cim in Lingen gab es auch vollständig als Live-Stream im Web zu sehen. Als Aufzeichnungen sind sie bei YouTube verfügbar.
Da ein Neuneinhalb-Stunden-Video aber möglicherweise etwas unhandlich ist, findet ihr hier Direktlinks zu den einzelnen Vorträgen der cim 2019 in Lingen:
-
Keynotes
- Dev Track
- Vision & Facts Track
- Business Track
- Tech Track
Kurzlink zu diesem Artikel:
http://faq-o-matic.net/?p=8453
Die Folien meiner Closing-Keynote “Was soll das Business mit Computern? Warum sich die IT emanzipieren muss” von der cim 2019 in Lingen gibt es hier zum Download:
[So war die #cimLingen2019 – michael wessel Blog]
https://www.michael-wessel.de/blog/2019/09/16/so-war-die-cimlingen2019/
Kurzlink zu diesem Artikel:
http://faq-o-matic.net/?p=8450
In gewissen Fällen möchte man aus einer Task-Sequenz heraus eine Statusmail verschicken, hierbei führen wie gewohnt viele Wege zum Ziel.
Ein einfacher Weg ist hierbei natürlich PowerShell. Um den nötigen Customizing-Aufwand zu minimieren, habe ich ein Script geschrieben, welches den Computernamen, den Status des letzten Task-Sequenz-Schrittes und den Namen des aktuellen Schrittes automatisch abruft. Möchte man dieses Script einbinden, so braucht man lediglich einen „Run Powershell Script“ Step zu erstellen, wahlweise den Code als Package oder direkt zu hinterlegen und einen entsprechenden Namen zu setzen:

Sobald der Computer bei diesem Schritt ankommt, sendet er automatisch eine Mail in dem folgenden Format an die im Script hinterlegte Email Adresse: [Success]: Task Sequence „%Task Sequenz Name%“ on %Computername% (Step: „Status Mail: TS Success“)
Man kann diesen Schritt dann zum Beispiel an unterschiedliche Stellen in der Task Sequenz kopieren und z.B. abhängig von Task Sequenz Variablen entsprechende Statusmails versenden:

Kurzlink zu diesem Artikel:
http://faq-o-matic.net/?p=8448