Falsche IP / DNS Einstellungen trotz DHCP

Windows 10 / 11 nutzt statische IP trotz DHCP [Mehr]

PowerShell PSReadlineOption not working

Seit Windows 10 1809 funktioniert der Befehl “Set-PSReadlineOption –TokenKind” zum ändern der einzelnen Textfarben in PowerShell nicht mehr wie ich es in einem früheren Blog Post erklärt hatte. Ab Windows 10 1809 bzw folgender Modulversion wird das festlegen der einzelnen Farben jetzt nicht mehr über ein Tokenkind definiert. Stattdessen wird jetzt mit einer Art Hashtable gearbeitet. Ich habe eine PowerShell Profile Example Datei erstellt welche ich auch über ein GitHub Projekt zur Verfügung stelle. Da es teilweise Umgebungen gibt in denen PowerShell Profile zentral verwaltet und verteilt werden habe ich mein PowerShell Profil mit einer Abfrage versehen sodass die Befehle je nach betreffender Modulversion ausgewählt werden.

NFC Magie mit Windows Phone UWP und ein paar Cent

Das Thema NFC ging bisher an mir weitestgehend vorüber. Bis ich bei Amazon einen günstigen 40€ NFC Kartenleser entdeckt habe. Den ACR 122U. Im Paket waren noch 5 Karten dabei. Zusätzlich orderte ich aufklebbare Tags NFC NTAG 213 mit 144Byytes Speicher. Diese wurden dann auch meine treuen Begleiter im weiteren Tests. Um die Funktionsfähigkeit des Readers zu prüfen, wollte ich erfolglos aus den Windows Universal Samples das NFC Projekt kompilieren. Ein netter Zeitgenosse hat es allerdings im Microsoft Store zum Download angeboten.  Folgende Apps kommen zum Einsatz NFC Demo App https://www.microsoft.com/store/productId/9NBLGGH1R8BW NFC Commander auf dem Lumia 650 https://www.microsoft.com/de-de/store/p/nfc-commander/9wzdncrdmmw0 Andere Apps wie von Andreas Jakl finden den NFC Reader nicht. Wie sich nach längerer Suche herausstellt, weil es keinen Windows 10 proximitry Driver für das ACR122U Device gibt. Der erste Versuch startet also mit diversen Kreditkarten, BUILD Teilnehmer Badge, den Karten und den NFC Tags und der NFC App. Dabei zeigt sich, das Thema NFC ist unendlich. Es gibt ca 10 Verschiedene Kartenstandards, die wiederum in verschieden beschrieben werden können. Außerdem zeigt sich, das es eine kurze Weile dauert, bis die Karte erkannt und gelesen wird. Auch die Kommunikation zwischen Karte und Leser findet auf verschiedenen Arten statt. Da mein Wissen im Bereich NFC endlich ist, beschränke ich mich auf die so erkannte MifareUltraLight. Der Speicher wird in 4 +16 Byte Blöcken organisiert, die allerdings wenn man dem üblichen NDEF Format folgt nicht ganz zur Verfügung stehen. Mein Test ergibt 34 nutzbare Bytes. Auch mein Microsoft Lumia 650 ist ein NFC Device, sozusagen eine Karte oder ein Leser. Angedacht war von Microsoft auch Zahlungsfunktion an der Supermarktkasse, analog zur Kreditkarte anzubieten. Beim probieren mit der App NFC Commmander auf dem Smartphone erkennt man die unglaubliche Vielfalt an Funktion, die in dem Thema steckt. Mit Annäherung lassen sich Apps Starten oder Anrufe tätigen, wenn der Treiber vorhanden ist. Mein Tag wird also mit einem einfachen Text beschrieben, Location DE, durch Annäherung an mein Telefon. Die NFC Test App am Notebook zeigt nun auch andere Daten in Block 2-4. Die WinRT API enthält Low Level Funktionen für Annäherung und lesen schreiben. Mit UWP wäre es also ganz einfach ala   Dim nfcDevice = ProximityDevice.GetDefault() auf ein Device zuzugreifen. Wären da nicht die fehlenden Treiber. Im Weiteren Fortgang habe ich dann versucht aus den Devices die Smartcard zu finden und über eine Smartcardconnection Instanz Low Level APDU Kommandos per  Await connection.TransmitAsync(cmd.AsBuffer) an die Karte zu senden. Nach realistischer Aufwandsschätzung die Erkenntnis, das Problem hat bestimmt schon wer gelöst. Eine Library muss her. Wie immer mehrere zur Auswahl. Da die Redmonder in ihrem UWP SDK ein scheinbar funktionierendes Sample ausprogrammiert haben fällt die Wahl auf pcscsdk. Das gibts als Nuget Paket, was mein UWP Projekt im Compilerlauf verweigert, oder einfach den Source Code aus dem SDK Sample “klauen”. Es wird also ein leeres UWP Projekt erstellt und der Visual Studio Solution eine UWP Klassenbibliothek hinzugefügt. Dabei kann ich wie in meinem Fall auch die Sprachen mischen. Die C# Source Files werden als nächstes in das Library Projekt kopiert. Im UWP App Projekt muss unter Verweise, auf das Class Library Projekt verwiesen werden.   Das XAML UI enthält nur eine Textbox Text1. Aus einer Liste von in meinem Fall über 6000 Devices wird das mit einer speziellen GUID (siehe Code) herausgefilter um den Smartcardreader zu identifizieren. Dieser bietet dann zwei Events CardAdded, CardRemoved die wie abonniert werden. 1: Dim myNFC As SmartCardReader 2:   3: .... 4: Dim query As String = "System.Devices.InterfaceClassGuid:=""{DEEBE6AD-9E01-47E2-A3B2-A66AA2C036C9}"" " 5: Dim devices As DeviceInformationCollection = Await DeviceInformation.FindAllAsync(query) 6: myNFC = Await SmartCardReader.FromIdAsync(devices(1).Id) 7: AddHandler myNFC.CardAdded, AddressOf CardAdded 8: AddHandler myNFC.CardRemoved, AddressOf CardRemoved .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } Das CardAdded Event erlaubt es eine Verbindung zur neuen NFC Karte aufzubauen. Zeile 3 und 4 nutzen bereits das pcscsdk und geben Informationen über den Kartenstandard wieder. In diesem VB.NET Code Beispiel wird das Ergebnis allerdings verworfen, da wir nur den MifareUltra Light Standard hier nutzen wollen. Es werden 4 x 16 Byte gelesen und das Byte Array in einen String konvertiert. Da die ersten Bytes nur zur Steuerung sind wird in den beiden IF Zweigen der Nutzanteil gefiltert.   1: Private Async Sub CardAdded(sender As SmartCardReader, args As CardAddedEventArgs) 2: Dim card = args.SmartCard 3: Using connection As SmartCardConnection = Await card.ConnectAsync() 4: Dim cardIdentification = New IccDetection(card, connection) 5: Await cardIdentification.DetectCardTypeAync() 6: Dim mifareULAccess As MifareUltralight.AccessHandler = New MifareUltralight.AccessHandler(connection) 7:   8: Dim s As String 9: For i = 0 To 3 10: Dim response = Await mifareULAccess.ReadAsync((4 * i)) 11: Await DispatcherHelper.ExecuteOnUIThreadAsync(Sub() 12: if i = 1 Then 'die ersten 14 bytes irgendwas mit Typ 13: text1.Text += Encoding.UTF8.GetString(response.ToArray().Skip(14).ToArray) 14: End If 15: If i > 1 Then 16: text1.Text += Encoding.UTF8.GetString(response) 17: End If 18: End Sub) 19: Next .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } Das CardAddedEvent läuft nicht im Kontext des UI Threads, deswegen Dispatching von Nöten ist. Der DispatcherHelper kommt aus dem Nuget Paket UWPCommunityToolkit.

Automatisiertes Wechseln lokaler Kennwörter

Welche IT Abteilung , kennt das nicht das sie unterschiedliche Standard Kennwörter haben für die lok [Mehr]

Windows Boot-Manager: Betriebssysteme hinzufügen und entfernen

Seit Windows 8 kommt das Betriebssystem mit einem grafischen Bootmanager daher. Dieser wird aber ers [Mehr]

Windows 10 Startmenü–Ready for Business

Das sich das StartLayout also die Anordnung der Kacheln innerhalb des Startmenüs statisch über Grupp [Mehr]

PowerShell 5.0 Schriftfarben anpassen

Die Farbdarstellung in der PowerShell ab der Version 5.0 (Windows 10 / Server 2016) ist aufgrund des SyntaxHighlighting in den Standardfarben auf dem Monitor annehmbar dargestellt. Sobald man jedoch die Shell in Präsentationen oder Trainings verwendet wird es schnell über den Beamer schwer leserlich. Wie ihr das umstellen könnt erfahrt ihr im folgenden BlogArtikel. Standardmäßig finden wir folgende farbliche Darstellung in der PowerShell, die wie gesagt auch gerne mal zum Problem werden kann. Die Standardschriftfarbe und der Hintergrund lässt sich noch relativ leicht über die GUI einstellen. Danach enden auch schon  die grafischen Möglichkeiten. Will man sein PowerShell Fenster weiter anpassen muss man das mit den passenden  Befehlen und Variablen umsetzen. Dafür nutze ich folgendes cmdLet: Set-PSReadlineOption Mithilfe dieses cmdLet lassen sich die einzelnen Bestandteile setzen, wie z.B. die Farbe des “Command” Highlighting, von Gelb auf Dunkelblau. Set-PSReadlineOption -TokenKind Command   -ForegroundColor DarkBlue Was ich persönlich sehr praktisch finde wenn man den Hintergrund auf weiß setzt. Leider werden diese Änderungen nicht gespeichert und müssen jedes mal neu gesetzt werden. Es sei denn, man erstellt sich dafür ein PowerShell Profil. Dieses Profil ähnelt einem Skript welches beim starten einer neuer PowerShell zuerst ausgeführt wird. Ob ihr bereits ein Profil habt könnt ihr mit folgendem Befehl testen. Bekommt ihr, so wie hier im Beispiel, als Rückgabe “False” geht es jetzt im nächsten Schritt darum ein neues Profil zu erstellen. Dieses könnt ihr mit folgenden Befehl erstellen. Nach dem erstellen wartet die Datei nur noch darauf von uns editiert zu werde. Den Dateipfad können wir der Verzeichnisangabe entnehmen und anschließend die Datei in einem Editor, wie zum Beispiel der Powershell ISE, bearbeiten. Zu Anfangs ist diese Datei komplett leer. Ich befülle diese dann mit folgenden Werten. Zuerst erstelle ich mir eine Variable in der ich mir das Objekt der Oberfläche speichere, um einige Anpassungen einfach tätigen zu können. So setze ich z.B. den Fenster Titel auf “StefanO Shell” und die Standard Hintergrund- und Standard Schriftfarbe. Anschließend setze ich die verschiedenen Farben für die jeweiligen “TokenKinds” wie z.B. “Command,Parameter,Number,Member” . Das komplette Skript stelle ich über folgenden GitHub zur Verfügung. Für weitere Fragen stehe ich euch in dem PowerShell Kurs der ppedv AG zur Verfügung.

EDGE Startseite via GPO

Seit der Windows 10 Version 1511 lässt sich die Startseite des neuen innovativen Browsers Edge über [Mehr]

Windows 10: VPN-Verbindungen nutzen immer Remote-Gateway

Unter früheren Windows-Versionen konnte man bei VPN-Verbindungen noch den gesamten IPv4-Teil konfigurieren. Dort gab es eine Option “Standardgateway für das Remotenetzwerk verwenden”, die man abschalten konnte: Standardmäßig war/ist diese Option eingeschaltet und sorgt dafür, dass SÄMTLICHER Datenverkehr über das Remote-Netz geleitet wird, auch das, was eigentlich “DIREKT” ins Internet gehen könnte. Der Vorteil dabei ist, dass der Traffic vom eigenen Endgerät bis zum Firmennetzwerk verschlüsselt ist, was insbesondere dann nützlich ist, wenn man in einem Internetcafe oder Hotel-WLAN sitzt und nicht klar ist, wer den Verkehr mithören kann. Will man nun auf einem Windows 10 Client dieses Verhalten ändern – also erreichen, dass nur Traffic, der für das Remote-Netzwerk gedacht ist, über VPN geht, der Rest direkt ins Internet, müsste man diesen Haken entfernen, was bei Windows 10 nicht mehr geht, da sich die IPv4-Optionen der VPN-Verbindung nicht mehr öffnen lassen. Was man aber tun kann, ist dieses Verhalten mit Hilfe der PowerShell herbeizuführen, und zwar mit diesem Aufruf: Damit wird für alle VPN-Verbindungen das “Split-Tunneling” aktiviert, was eben diesem Haken entspricht. Hier der Aufruf nochmal zum direkt Kopieren: Get-VpnConnection | Set-VpnConnection -SplitTunneling $True

Windows 10 wird als RTM in MSDN angeboten

Nur als kurze “Randnotiz”: Seit heute kann man die Windows 10 ISOs in der MSDN als RTM-Version herunterladen! Dabei stehen zur Verfügung: Windows 10 Home 1 Windows 10 Pro 1 Windows 10 Education 1 Windows 10 Enterprise 1 Windows 10 Enterprise 2015 LTSB Windows 10 Features on Demand 2 Windows 10 Language Interface Packs Windows 10 Symbols Windows 10 Symbols Debug/Checked Windows 10 IoT Core for MinnowBoard MAX (x86) Windows 10 IoT Core for Raspberry Pi 2 (ARM)