netzweise2

Eine MAC-Adresse unter Windows oder Windows PE auslesen und vereinheitlichen

Heute stand ich vor der Aufgabe, eine MAC-Adresse einzulesen. Das Einlesen der MAC-Adresse gestaltet sich dabei einfach. Unter Windows am einfachsten geht das über Get-Netadapter:

PS > Get-NetAdapter

Name         InterfaceDescription                ifIndex Status   MacAddress         LinkSpeed
----         --------------------                ------- ------   ----------         ---------
Internal     Microsoft Hyper-V Network Adapter        10 Up       00-15-5D-64-98-00  10 Gbps

Unter Windows PE steht das Cmdlet leider nicht zur Verfügung, da es zu den CDXML-Datei basierten Cmdlets gehört. Glücklicherweise kann man sich behelfen, indem man einfach auf Get-WMIObject zurückgreift:

PS > Get-WmiObject -Class win32_networkadapter

Continue reading
  5070 Hits

Wenn die ISE nach dem Crash die geöffneten Skripte nicht mehr öffnet...

Die ISE, wenn auch nicht mehr der von Microsoft favorisierte Powershell-Editor, ist immer noch bei vielen Skriptern sehr beliebt, und das hat gute Gründe. Die ISE stellt z.B. die zuletzt geöffneten Skripte (und auch die nicht gespeicherten) wieder her, wenn es mal zu einem Absturz kommt oder die ISE vor dem Herunterfahren nicht ordentlich geschloss...

Continue reading
Tags:
  1466 Hits

Auflösen von SID zu Benutzername - und zurück

Einen Security-Identifier geht in Powershell mit Hilfe des .NET-Frameworks relativ problemlos. Verwenden Sie dazu folgenden Code.  $sid = 'S-1-5-21-1645259789-2415107319-3639759105-1314'$SidIdentifier = New-Object -TypeName System.Security.Principal.SecurityIdentifier -ArgumentList $SID$SidIdentifier.Translate([System.Security.Principal.NTAcco...

Continue reading
  3239 Hits

Den Datentyp eines Registry-Eintrags mit Powershell ermitteln.

Die Registry ist technisch gesehen eigentliche ein Datenbank für Schlüssel-Wertepaare. Im Gegensatz zu Linux, wo jedes Programm sein eigene Konfiguration in einer Textdatei verwaltet, hat Microsoft die Konfigurationsverwaltung mit der Registry zentralisiert. Eine Besonderheit der Registry ist die Tatsache, dass jeder verwaltete Wert einen Date...

Continue reading
Tags:
  1993 Hits

Die Microsoft Data Protection API und Powershell

Sicher wie ein Safe Microsoft DPAPI sichert Ihre Anmeldeinformationen

Die Microsoft Data Protection API ist ein Feature, das Microsoft mit Windows 2000 eingeführt hat. Der Sinn der DPAPI ist es, Daten für den Benutzer transparent verschlüsselt ablegen zu können. Transparent bedeutet, dass der Benutzer von der Verschlüsselung nichts mitbekommt. Das passiert mit Hilfe der Anmeldeinformationen des Benutzers. Hier m...

Continue reading
  5368 Hits

Wim-Files größer 4GB für Bootsticks aufteilen

Um einen Windows-Rechner per USB-Stick zu installieren, benötigt man prinzipiell nur das Media Creation Tool von Microsoft, das allerdings nur einen Installer für Windows 10 Home erstellt. Theoretisch kann man einfach mit dem Media Creation Tool den Bootstick erstellen und anschließend die Datei Install-Wim, in der sich die Installationsdateien bef...

Continue reading
  2846 Hits

BBB Greenlight Userkennwort per SSH ändern

Mit dem Greenlight-Frontend für BigBlueButton kann man Benutzer über das administrative Frontend verwalten. Es geht aber auch direkt in der Konsole über SSH im docker-Container. # Einen Benutzer anlegendocker exec greenlight-v2 bundle exec rake user:create["name","email","password","admin"]# ein Admin-Konto anlegendocker exec greenlight-v2 bun...

Continue reading
  1194 Hits

Manuelle Upgrade von Windows schlägt mit Fehler "Windows 10 kann nicht auf einem USB-Stick installiert werden" fehl

Wenn Sie ein manuelle Upgrade (neues Feature-Release) von Windows 10 z.B. von einer CD ausführen, wird Ihnen die Fehlermeldung "Windows 10 kann nicht auf einem USB-Stick installiert werden" oder "You Can't Install Windows 10 on a USB Drive" ausgegeben. Es gibt offenbar mehr Ursachen für dieses Problem, aber die einzige, die mir bisher (mehrfach) un...

Continue reading
Tags:
  2485 Hits

Wenn das Windows 10 Startmenü mal wieder hakt

Das Windows 10 Startmenü - ein Leiden ohne Ende. Auch mein Startmenü hat sich letzte Woche mal wieder zickig angestellt und hat jede Suche verweigert. Das ist äußert ärgerlich, da man ohne Suche einfach komplett aufgeschmissen ist - man hat dann die klassische Nadel im Heuhaufen. Das Problem lässt sich häuft auf den Windows-Suchdienst zurückführen....

Continue reading
  2197 Hits

Die Startzeit / Reboot des Servers herausfinden

Update, 29.09.2020: Ein fleißiger Kommentator hat mir folgendes Code hinterlassen, der ab Powershell 5 besser funktioniert:

Get-Computerinfo | select OsLastBootUpTime

----

Jefrey Snover hat gerade ein Modul in der Powershell Gallery gepostet, das die letzte Reboot-Zeit aus dem Eventlog ausliest: https://www.powershellgallery.com/packages/get-lastreboot/0.1.1/DisplayScript. Dabei fiel mir ein, dass es doch auch noch dieses tolle Tool Systeminfo gibt, dass an der Kommandozeile alle möglichen Systeminformationen ausgibt - auch die Systemstartzeit. Das großartige an diesem Tool ist aber, dass es die Ausgabe auch ins csv-Format umwandeln kann, indem man den Parameter -FO aufruft. Die gesamten Informationen werden dann ins csv-Format umgewandelt, mit dem Powershell wiederum ganz hervorragend umgehen kann. Und so kann man dann ganz hervorragend die Daten von systeminfo direkt in Powershell weiterverarbeiten: 

systeminfo /FO csv | convertfrom-csv

Continue reading
  15161 Hits

Kennwörter sicher verwalten mit Keepass und Yubikey (MFA)

Dass ein Kennwort ein generell unsichere Sache ist, haben inzwischen sogar Unternehmen wie Microsoft verstanden. Das grundsätzliche Problem von Kennwörtern ist, dass sie meist unsicher sind, oder nicht leicht zu merken. Das ist vor allem deshalb problematisch, da heute jede Website gerne eine Benutzerkonto anlegen möchte. Die Wiederverwendung von K...

Continue reading
  34091 Hits

Datenbanken migrieren von mySQL zu SQL-Server

SQL-Server und mySql sind leider SQL-seitig nicht wirklich kompatibel. So gibt es zwar die Möglichkeit, eine Datenbank in mySQL als Script zu exportieren, aber leider kann man das Script auf dem SQL-Server nicht mehr für den Import benutzen. Der beste Weg für den Import führt daher über den SQL Server Migration Wizard. Der Migration Wizard steht für verschiedene Datenbanken zur Verfügung und hilft z.B. auch bei der Migration von Access-Datenbanken zu SQL-Server. Da das Tool recht komplex ist, möchte ich hier nur kurz zeigen, wie man eine einfach Migration durchführt, ohne auf die schmutzigen kleinen Details des Tools eingehen zu wollen. Ich verwende hierzu die derzeit aktuelle Version 6.0.1, 6.1 (für SQL-Server 2016) ist derzeit in der Beta-Phase.

Sie benötigen auf dem Rechner, auf dem Sie den SSMA einrichten wollen, zuerst einmal einen mySQL-ODBC-Treiber. Haben Sie die mySQL-Datenbank unter Windows auf dem gleichen Rechner installiert, dann müssen Sie nichts weiter machen, denn mySQL installiert den passenden ODBC-Treiber gleich mit. Ansonsten laden Sie den Treiber einfach bei mysql.com herunter. Nutzen Sie den 64-Bit Treiber, der SSMA wird nämlich auch in einer 64-Bit-Version installiert. Eine Konto für die Authentifizierung ist übrigens nicht notwendig, klicken Sie einfach auf den Link "No thanks, just start my download", wenn Sie nach Ihrem Login gefragt werden. Anschliessend installieren Sie den SSMA.

Wenn Sie den Migration Assistenten zum ersten Mal starten, müssen Sie ein Migrationsprojekt erstellen. Wählen Sie hierfür im Menü File "New Project" aus. Wichtig ist, dass Sie im folgenden Fenster das Migrationsziel auswählen. Standardmässig ist hier Azure angegeben. Leider können Sie das Ziel im Projekt selber dann nicht mehr ändern. Das kann ziemlich verwirrend sein!

Nun müssen Sie eine Verbindung zum Quell- und zum Zielsystem herstellen. Wählen Sie hierfür in der Toolbar zuerst "Connect to MySql". Wählen Sie im Verbindungsfenster den Provider aus - dies ist der ODBC-Treiber, den Sie installiert haben. Ist hier kein Treiber sichtbar, obwohl Sie einen Treiber installiert haben, dann prüfen Sie, ob Sie den Treiber und SSMA beide in der gleichen Version (32-Bit / 64-Bit) installiert bzw. gestartet haben. Außerdem benötigen Sie den Namen des Quellservers, den mySQL-Port (standardmässig 3306), sowie ein Konto mit Leserechten auf dem mySQL-System. 

Nun verbinden Sie sich mit dem SQL-Server. 

Continue reading
  6925 Hits

VHD-Dateien beim Windows-Start automatisch mounten

"So mounten Sie eine VHD oder VHDX-Datei beim Systemstart von Windows automatisch Windows kann seit Vista virtuelle Festplatten wie normale Datenträger bereit stellen. Um das zu bewerkstelligen, können Sie in die Computerverwaltung -> Datenspeicher -> Datenträgerverwaltung gehen, das Kontextmenü der Datenträgerverwaltung öffnen und auswählen "virtuelle Festplatte anfügen". Alternativ können Sie auch das Powershell-Commandlet Mount-VHD verwenden:

mount-vhd -path C:\vhd\daten.vhdx 

Leider ist der Datenträger nur so lange eingehängt, bis der Computer neu gestartet wird. Wenn Sie die virtuelle Festplatte aber gerne bei jedem Systemstart verfügbar hätten, müssen Sie tricksen. Variante 1: Nutzen Sie das Tool vhd attach. VHD Attach stellt eine grafische Oberfläche für die Verwaltung von VHD-Dateien zur Verfügung, installiert aber auch einen Dienst, der beim Systemstart eine vhd-Datei einhängen kann. Dafür starten Sie VHD Attach, mounten die Festplatte, die sie benötigen, und klicken dann im Menü auf ""Auto-Mounted"". Variante 2: Wenn Sie mehrere Maschinen mit einem Auto-Mount einrichten oder ohne Installation auskommen wollen, hilft Ihnen der Task-Scheduler weiter (Aufgabenplanung im Deutschen). Hier können Sie eine Aufgabe anlegen, die beim Systemstart ausgeführt wird und ein Powershell-Script mit mount-vhd startet. Und als kleine Fingerübung machen wird das gleich mit Powershell und einem geplanten Task. (Mehr zu geschedulten Tasks und Jobs in meinem nächsten Tipp).

$user = new-object -typename System.Management.Automation.PSCredential -argumentlist $Username,$Password 
$action = $jobtrigger = New-JobTrigger -AtStartup
New-ScheduledTaskAction -Execute 'powershell.exe' -Argument "-noprofile -command mount-vhd -Path 'C:\vhd\daten.vhdx'"
Register-ScheduledTask -TaskName Mount_VHD -Trigger $jobtrigger -Action $action -User "system" -RunLevel Highest

Der Jobtrigger -AtStartup legt fest, dass der Task beim Systemstart ausgeführt werden soll. Mit Register-ScheduledTask wird die Aufgabe im Taskplaner registriert. Die Action ist der Powershell-Aufruf, der das Befehl "Mount-VHD" startet. Erwähnenswert ist noch, dass der Task als Benutzer "System" gestartet wird und damit automatisch administrative Rechte hat. Um den Task als System zu starten, benötigt man allerdings administrative Berechtigungen.

  7649 Hits

Boot von VHD auf einem leeren Datenträger einrichten

Sie haben einen leere Festplatte und möchten direkt von VHD booten? Abgesehen von kleinen Stolperfallen eigentlich ganz einfach...

Wenn Sie eine neue Festplatte in Ihrem Rechner haben, auf der noch kein Betriebssytem vorhanden ist, können Sie den Rechner trotzdem ohne eine Installation in Betrieb nehmen - vorausgesetzt, Sie haben eine VHD-Datei zur Verfügung. VHD-Dateien sind Dateien, die intern eine Festplatte simulieren. Windows kann direkt von VHD booten - Windows 8.1 sogar von VHDX, einer deutlich performanteren Version von VHD. Sie könnten Beispielsweise die Beta-Versionen von Windows 10 oder Windows Server NG (Next Generation) als vhd bei Microsoft herunter laden. Oder Sie erzeugen sich mit Convert-Windowsimage eine eigene vhd in 5 Minuten.  Um eine Festplatte für den Boot von VHD vorzubereiten, legen Sie zuerst eine Startpartition mit 300 MB Größe an. Als Partitionsformat wählen Sie FAT32. Setzen Sie die Partition anschließend aktiv. Von Windows PE per Kommandozeile aus können Sie das mit Diskpart erledigen:

 diskpart
 create partition primary size=300
 format quick fs=ntfs
 assign letter=s
 active

Anschliessend richten Sie den Rest der Festplatte als eine große Partition ein:

 create partition primary 
 format quick fs=ntfs
 assign letter=c 
 exit

Nun können Sie die vhd-Datei auf den neuen Datenträger kopieren. Im letzten Schritt müssen Sie die Festplatte mit einem Boot-Bereich (BCD-Store) austatten. Hierfür müssen Sie die vhd-Datei mounten: 

 diskpart
 select vdisk file=C:\windows.vhdx
 attach vdisk

Nun müssen der VHD-Datei einen Laufwerksbuchstaben zuweisen, damit Sie Zugriff auf die Partition bekommen - im Beispiel der Laufwerksbuchstabe v:

Continue reading
  5841 Hits

Mit Powershell Reg_Binary Werte in die Registry schreiben

Wie Sie mit der Powershell Reg-Binary Werte in die Registry schreiben Powershell bietet ein mächtiges Kommando zum setzen von Registry-Werten: SET-ITEMPROPERTY bzw. NEW-ITEMPROPERTY. Mit Set können Sie einen bestehenden Wert überschreiben, mit New erzeugen Sie einen neuen Wert. Die Syntax ist grundstätzlich sehr simpel:

New-Itemproperty -Path "Registrierungsschlüssel" -name "Name des Werts"  -Value "Zu setzender Wert" -PropertyType "Typ des Eintrags"

Als Propertytype kommen dabei in Frage:

  • BINARY
  • DWORD
  • STIRNG
  • EXPANDSTRING
  • MULTISTRING
  • QWORD

Die meisten der Werte sind einfach zu setzen, allerdings erweist sich Binary  mitunter als widerspenstig. Wird als PropertyType "BINARY" angegeben, so muß der angegebene Wert sich auch im Binärdatentyp befinden. Eine Umwandlung kann dabei über die Konvertierungsfunktion [BINARY] erfolgen. Ein wenig trickreich wird es, wenn man Daten z.B. aus einem Regfile ausliest, weil beim Registrierungsepxort die Daten nicht als Binärdaten ausgegeben werden, sondern als HEX-Zahlen. Diese müssen vorher erst wieder ins Dezimalformat umgewandelt werden, bevor man sie ins Binärformat konvertieren kann. Eine mögliche Lösung sieht so aus:

New-ItemProperty -Path 'HKCU:\Software\' -name "EinWert"  -Value (&{'c7,02,00,00'.split(",") | %{"0x"+$_}}) -PropertyType BINARY}

Kurze Erklärung: Die Hex-Werte werden in einem Script-Block aufgesplittet und per String-Addition für Powershell in einen Hex-Wert gewandelt. Diesen kann Powershell dann implizit konvertieren. Weitere Informationen zur Konvertierung finden Sie in unserem vorigen Tipp.

  8296 Hits

Onedrive for Business mit Gruppenrichtlinien steuern

Mehr zum Thema Gruppenrichtlinien finden Sie auch in meinem Buch Gruppenrichtlinien in Windows 10 und Windows Server 2019, das voraussichtlich im Oktober in der Neuauflage erscheint.

Onedrive for Business ist in Office 365 enthalten und wird ein immer spannenderes Werkzeug für die Verwaltung von Benutzerdaten. Mit der aktuellen Version ist es z.B. möglich, die Ordner Bilder, Dokumente und Desktop automatisch in den Onedrive-Ordner zu verschieben. Dadurch können die Benutzerdaten nicht nur geräteübergreifend synchronisiert werden - was ich mit mehreren Rechnern - PC in der Firma, PC zu Hause und Latpop mache und sehr schätze - sondern durch die Versionierung der Sharepoint-Bibliotheken hat man auch gleich ein integriertes Backup, mit dem es möglich ist, alte Daten wiederherzustellen. Darauf weist inzwischen auch der Windows Defender hin, denn durch die Versionierung können Verschlüsselungstrojaner zwar ein Dokument verschlüsseln, aber der Schaden kann einfach durch rückspielen einer alten Version wieder behoben werden.

Die Onedrive-Features können auch durch Gruppenrichtlinien automatisch aktiviert werden, allerdings sind die Onedrive-ADMX Dateien nicht Bestandteil des Office 2016 ADMX-Vorlagen, die man bei Microsoft herunterladen kann. Stattdessen werden die Vorlagen beim Installieren des neuen Onedrive Sync Clients (Onedrive.exe) lokal im Benutzerprofil abgelegt. Achten Sie also darauf, dass Sie, wenn Sie einen neuen Onedrive-Client bereitstellen, immer auch die Vorlagen aktualisieren. Die Dateien liegen unter %LocalAppData%\Onedrive\<Version>\adm. Um es den Administratoren nicht zu leicht zu machen, sind die Dateien allerdings nicht so abgelegt, dass man sie direkt kopieren kann. Stattdessen liegt die englische .adml-Datei direkt im Ordner .adm, die fremdsprachigen .adml-Dateien liegen in teilweise nicht korrekt benannten Ordnern. Bevor Sie die Dateien also in Ihren Policy-Store kopieren, erstellen Sie zuerst einen Ordner en-us im adm-Ordner und kopieren die Onedrive.adml-Datei hinein, und außerdem benennen Sie den Ordner \de um in \de-de. Danach können Sie die Onedrive.admx inklusive der zwei Unterordner \de-de und \en-us in den PolicyStore-Ordner kopieren.


Mehr zu den Einstellungen finden Sie im folgenden Artikel Onedrive for Business Ordner umleiten, manuell und mit Gruppenrichtlinien.

  5366 Hits

Windows Datei- und Druckserver migrieren

Windows Server bringt eine Reihe von Migrationstools mit, die die Migration von Benutzern, Druckern und Dateien recht einfach machen Sie müssen lokale Benutzer, Gruppen, Drucker oder Dateien zwischen zwei Windows-Server migrieren? Kein Problem mit den Windows Server Migrationstools.

Szenario 1: Benutzer und Gruppen migrieren

Um Benutzer und Gruppen zu migrieren, verwenden Sie die Windows Migration Tools. Auf Windows Server 2008 R2 und 2012 (R2) installieren Sie diese über den Server-Manager oder über Powershell auf dem Quell- und auf dem Zielserver:

Install-WindowsFeature -Name Migration

Danach laden Sie in Powershell das Migrations Snap-In:

Add-PSSnapin Microsoft.Windows.ServerManager.Migration

Exportieren Sie nun zuerst auf dem Quellserver die Benutzer und Gruppen mit Hilfe des Cmdlets Export-SmigServerSettings. Über den Parameter User können Sie angeben, welche Benutzer exportiert werden sollen. Es stehen Ihnen die Optionen "All","Enabled" und "Disabled" zur Verfügung. Wenn Sie auch die lokalen Gruppen exportieren wollen, verwenden Sie den Parameter Group. Achten Sie aber darauf, dass Sie die Gruppen in einem Befehl mit den Usern exportieren, da Sie sonst ein weiteres Export-Verzeichnis benötigen. Das Export-Verzeichnis sollte sinnigerweise von beiden Servern aus erreichbar sein. Da der Export mit Kennwort erfolgt, müssen Sie die Daten mit einem Kennwort verschlüsseln.

Continue reading
  13290 Hits

Bitlocker mit FDE (Verschlüsselung in Hardware) nutzen

*Update*: Microsoft unterstützt die Verschlüsselung in Hardware seit Windows 10 1903 nicht mehr, da es zu häufig Probleme mit der Implementierung der Hersteller gab.

"So verschlüsseln Sie Ihre Festplatte performant, aber zentral verwaltet Seit Windows 8 unterstützt Bitlocker die Möglichkeit, direkt die Hardwareverschlüsselung der Festplatte zu nutzen. Diese Technik wird von Microsoft als edrive bezeichnet. Dadurch, dass Bitlocker die Daten nicht mehr verschlüsseln muß, bevor er sie auf der Festplatte speichert, bekommt man die Verschlüsselung quasi komplett ohne Performance-Einbußen. Im Gegensatz zur reinen FDE-Verschlüsselung (Full Drive Encryption), also der Verschlüsselung direkt durch die Festplatte ohne Bitlocker, kann man die Verschlüsselung aber zentral administrieren. Leider ist das Feature mal wieder bescheiden dokumentiert. Daher habe hier nach einer langen Leidens- bzw. Experimentierphase mal alle Erkenntnisse zusammengetragen. Um Bitlocker mit FDE nutzen zu können, benötigt man zum einen eine Festplatte (SSD), die FDE unterstützt und OPAL 2.0 kompatibel ist. Zwei Modelle, von denen ich das definitv weiß, sind die Crucial M500 und Nachfolgemodelle, sowie die Samsung Evo 840. Zum anderen muß der Computer bereits über UEFI-Bios (ab UEFI 2.3.1) verfügen und UEFI muß aktiviert sein. Der Secure Boot Mode darf laut Crucial nicht aktiviert sein! Um die Hardware-Verschlüsselung nutzen zu können, muß Windows im UEFI-Modus installiert werden. Das passiert automatisch, wenn das BIOS auf UEFI-Boot gesetzt ist. Eine große Stolperfalle: Die Festplatte muß leer und blank sein, wenn Windows die Installation startet. Dafür reicht es NICHT aus, die Partitionen auf der Festplatte im Installationsmenü zu löschen - das habe ich auf dem harten Weg gelernt. Löschen Sie stattdessen die Festplatte mit Diskpart, falls die Platte bereits initialisiert war. Dazu können Sie im Installationsmenü von Windows 8 die Tastenkombination shift-F10 drücken. Dann öffnet sich ein Kommandozeilenfenster. Geben Sie folgende Befehlskombination ein:

List Disk 
-> Finden Sie aus der List Ihre SSD
Select Disk
-> Geben Sie die Nummer Ihrer Festplatte an
Clean
-> löscht die Festplatte ratzekahl leer

Achtung! Clean heißt, dass die Festplatte komplett komplett gelöscht wird. Die Partitionen genauso wie die Partitionstabellen werden entfernt. Kontrollieren Sie also 3 mal, ob sie den richtigen Datenträger ausgewählt haben. Nun können Sie Windows 8 installieren. Nach der Installation können Sie Bitlocker installieren. Wenn Sie kein TPM (Trusted Platform Module) in Ihrem PC haben, müssen Sie Windows explizit erlauben, die Verschlüsselung mit USB-Datenträger oder Kennwort zu sichern. Starten Sie hierfür GPEdit.msc und öffnen Sie ""Computerkonfiguration -> Administrative Vorlagen -> Windows Komponenten -> Bitlocker Laufwerksverschlüsselung -> Betriebssystemlaufwerke -> Zusätzliche Authentifizierung beim Start anfordern"" und setzen sie den Radiobutton bei aktiviert. Anschliessend klicken Sie auf OK. Um sicher zu gehen, dass Sie wirklich die Hardwareverschlüsselung nutzen, verwenden Sie zur Aktivierung am Besten die Powershell. Starten Sie dafür ein Windows Powershell-Fenster mit Administrativen Rechten und starten Sie folgenden Befehl:

$password = ConvertTo-SecureString -String "Passwort" -AsPlainText -Force
Enable-BitLocker -MountPoint "C:" -HardwareEncryption -PasswordProtector -Password $Password

Wobei Mountpoint dem Laufwerk entspricht, dass Sie verschlüsseln wollen. Gibt es ein Problem mit Ihrer Konfiguration, meldet der Befehl, dass eine Hardwareverschlüsselung nicht möglich ist. Um Bitlocker per GUI zu aktivieren, starten Sie die Systemsteuerung, wählen ""Bitlocker Laufwerkverschlüsselung"" und dann aktivieren für das zu verschlüsselnde Laufwerk. Geben Sie ein Kennwort ein und wählen Sie, wo Sie den Wiederherstellungsschlüssel speichern wollen (Achtung! Wenn Sie den Wiederherstellungsschlüssel verlieren und Ihr Kennwort vergessen, kann bestenfalls der NSA noch Ihre Daten wiederherstellen, wobei selbst das eher unwahrscheinlich ist!). Danach wird eine Systemüberprüfung durchgeführt. Wenn Ihnen Bitlocker da"

  3279 Hits

Tastarlayout in Windows Server Core umstellen

Im letzten Artikel Default Shell in Server Core ändern habe ich beschrieben, wie Sie Powershell zur Default-Shell in Servercore machen können. Sie können aber auch das Tastaturlayout anpassen, wenn Sie bei der Installation die falsche Sprachversion ausgewählt haben. Hierzu passen Sie den Schlüssel HKEY_CURRENT_USER\Keyboard Layout\Preload an. Unter dem Schlüssel Preload sind die konfigurierten Tastaturlayouts gespeichert, die Servercore unterstützt, und zwar in numerischer Reihenfolge, wobei das Layout mit der Nummer 1 Priorität hat uns als erstes geladen wird.

Um das Tastaturlayout für den angmeldeten Benutzer anzupassen, setzen Sie einfach den Sprachcode Ihrer Tastatur für den Wert mit dem Namen 1. Für deutsche Tastaturen ist das 00000407. Das können Sie einfach im Regedit machen, oder mit folgender Codezeile:

Set-ItemProperty -Path HKCU:\Keyboard Layout\Preload -Name 1 -Value 00000407

Die vollständige Auflistung aller Codes finden Sie unter Default Input Profiles in Windows auf der Microsoft Website.

 

  5508 Hits

Zwei XML-Dateien mit Powershell vergleichen und einen HTML-Report erzeugen

Das XML-Format ist allgegenwärtig. Als Windows-Administrator stolpert man regelmäßig über Eventlogs im XML-Format, Anweisungsdateien für die unbeaufsichtigte Installation, Vorlagen für Gruppenrichtlinien usw. Und manchmal wäre es ganz schön, wenn man sich den Unterschied zwischen zwei ähnlichen XML-Dateien einfach anzeigen lassen könnte. Mit Powershell und ein bißchen .net ist das in der Tag auch gar kein Problem, denn Microsoft hat vor fast 15 Jahren eine .Net-Bibliothek zur Verfügung gestellt, die genau das tut - das XML Diff & Patch GUI Tool. Das Tool stellt eine Klasse zur Verfügung, über die es möglich ist, zwei XML-Dateien zu vergleichen und die Unterschiede in der XML DIfference Language (Diffgram) auszugeben. Mit einer weiteren Klasse kann man aus einer Diffgram-Datei und einer der beiden Vergleichsdateien eine HTML-Datei erzeugen, die die Unterschiede grafisch darstellt.

Wenn Sie die heruntergeladene Bibliothek entpacken, finden Sie im zwei .dlls, die Sie laden müssen, die XmlDiffPath.dll, die die Compare()-Methode zur Verfügung stellt, und die XmlDiffPath.View.dll, die die Methode GetHtml() bereitstellt. GetHtml erstellt aus einer Diffgram-Datei eine HTML-Datei. Laden Sie die Klassen und erstellen Sie zwei neue Objekte.

Add-Type -Path "xmldiffpatch.dll"
$XmlDiff = New-Object -TypeName Microsoft.XmlDiffPatch.XmlDiff
Add-Type -Path "XmlDiffPatch.View.dll"
$XmlDiffView = New-Object -TypeName Microsoft.XmlDiffPatch.XmlDiffView

Anschließend können Sie die Methode Compare() aufrufen. Compare hat eine Reihe von Überladungen (verschiedene Parameter-Kombinationen). Zum Erstellen eines Diffgramwriters benötigen Sie die beiden zu vergleichenden XML-Dateien, $false und einen .Net-Streamwriter zum Schreiben der Diffgram-Datei:

$DiffGramWriter = [System.Xml.XmlWriter]::Create( 'C:\temp\Diffgram.xml' )
#call Compare method from Microsoft.XmlDiffPatch.XmlDiff object
$XmlDiff.Compare('C:\temp\File1.xml','C:\Temp\File2.xml',$false,$DiffGramWriter)
$DiffGramWriter.Close()

Continue reading
Tags:
  6214 Hits