Visual Studio Code “Convert to Lower and Upper Case”

Wenn ich “code”, nehme ich dazu fast nur noch Visual Studio Code und in seltenen Fällen auch Notepad++. In Visual Studio Code ist mir aufgefallen, dass eine Konvertierung von Textblöcken in Groß- oder Kleinschreibung nicht ohne weiteres funktioniert. Eine in Visual Studio Code immer sehr gute Idee, wenn man eine Funktion sucht, ist der Aufruf der Behelfs Palette (command palette) mit CTRL+SHIFT+P und dort die Eingabe des Suchbegriffs wie z.B. transform.

image

Trotzdem wollte ich zusätzlich einen Shortcut damit belegen, Möglich ist das in den Einstellungen für die Shortcuts (oder Tastenabkürzungen) unter Manage/ Keyboard Shortcuts. Manage ist unten links als “Zahnrad”, analog zu Windows 10 im Editor zu finden. In dem nun sich öffnenden Dialog kann man nach entsprechen Funktionen und damit verknüpften Shortcuts suchen. In der folgenden Abbildung habe ich das Wort transform eingegeben.

image

Unter Keybinding sind hier keine Shortcuts zu sehen, können aber entsprechend definiert werden. Will man nun einen Shortcut definieren, genügt ein Klick auf das vor dem jeweiligen Command (Befehl) erscheinende Plus und ein Dialog zur Belegung öffnet sich. Die Idee, eine Kovertierung auf kleine Buchstaben mit STRG+SHIFT+L und große Buchstaben STRG+SHIFT+U zu ermöglichen, was der Belegung in Visual Studio entspricht, stellte sich als schlechte Idee heraus da diese Kombination schon belegt ist.

image

Auch die in Notepad++ vorgegebene Kombination aus STRG + L war ebenfalls nicht möglich und so habe ich mich für die folgenden Kombinationen entschieden.

  • Lowercase = STRG+ALT+L
  • Uppercase = STRG+ALT+U
  • Title Case = STRG+ALT+T

image

Für Coder die generell die gleiche Belegung wie Visual Studio verwenden wollen, sei hier noch auf die Extension Visual Studio Keymap aus dem Marketplace hingewiesen oder auch die Möglichkeit Notepad++ Mappings zu verwenden.

image

Ich will es aber erstmal bei meinen Shortcuts belassen.

Happy Coding, b!

The task XML is malformed

Mit Windows Server 2012 und Windows 8, also mit PowerShell 3 kam die Möglichkeit einen Task für den Windows Task Schedular mit PowerShell zu importieren.

Register-ScheduledTask -Xml .\VM-Export.xml -TaskName "VM-Export"

Diesen Aufruf quittiert Windows anschließend mit der Fehlermeldung (The task XML is malformed).

image

Der PowerShell-Befehl Register-ScheduledTask kann die XML-Datei nicht korrekt interpretieren, eine Lösung dazu (hier reicht auch schon der genaue Blick in den Screenshot) ist die XML-Datei über den folgenden Aufruf zu lesen.

Register-ScheduledTask -Xml (Get-Content .\VM-Export.xml |Out-String) -TaskName "VM-Export"

Enjoy it, b!

Open Live Writer im Windows Store

Seit geraumer Zeit ist der Open Live Writer im Windows Store als App verfügbar und kann dort heruntergeladen werden.

image

Die im Microsoft Store verfügbare Version ist 0.6.20 und entspricht damit der aktuell unter openlivewriter.org erhältlichen Version. Ich nehme an, dass der Store die Distributionsplattform für zukünftige Updates und Releases sein wird. Was auch die Installation ohne Admin-Rechte deutlich vereinfacht, oder überhaupt erst möglich macht.

Enjoy it, b!

Notepad++ läuft auf Windows Server Core

Für den Windows Server Core war ich schon einige Zeit auf der Suche nach einem ordentlichen Editor um auf Dev-Systemen Scripte etc. an zu passen …

Nun hatte ich neulich auf einem neuen System, wohl mehr ausversehen, ein Paket mit Notepad++ Version 7.x installiert (den Editor nehme ich unter Windows 10 und Windows Server mit GUI) und wahr überrascht, dass dieser problemlos funktionierte. Ich hatte Notepad++ vor sehr langer Zeit (das kann durchaus unter Windows Server 2008 Core) getestet und aus den Augen verloren – da er dort nicht funktionierte!

image

Here we go Smile

Enjoy it, b!

Password will never expire …

In Workgroups oder Zuhause ist es oft mühselig (bei den Home Editions über die GUI gar nicht möglich) das Ablaufen von Passwörtern zu deaktivieren. Neulich hatte ich das Problem, dass 20 Notebooks in einem Schulungscenter mit drei lokalen Benutzern mit ablaufenden Passwörter zu kämpfen hatten. Daher habe ich ein Script geschrieben um die Konfiguration zu automatisieren.

Eigentlich reicht es einfach das Script mit erhöhten Admin-Rechten aus zu führen. ich habe aber noch eine Möglichkeit eingebaut Accounts von dieser Änderung aus zu schließen. Diese müssen dazu lediglich in Zeile 7 eingetragen werden.

set account-filter=administrator gast guest Default

Das Script funktioniert mit Windows 7 aufwärts (darunter habe ich es nicht getestet) und ist als einfache Batch realisiert.

@echo off

:: Set-PasswordWillNeverExpire.cmd

set alog-unicode=%temp%\local-accounts-unicode.txt
set alog-ansi=%temp%\local-accounts-ansi.txt
set account-filter=gast guest Default
set alog-ansi-2beSet=%temp%\local-accounts-2beSet.txt

echo.
echo !!! Run this script as Administrator !!!
echo.

:: get local user accounts from wmi as unicode
WMIC USERACCOUNT WHERE LocalAccount='true' GET Name >%alog-unicode%
:: convert unicode to ansi
type %alog-unicode% >%alog-ansi%

:: excluding some accounts
for /f "tokens=1,* skip=1 delims= " %%a in (%alog-ansi%) do (
 
	echo %%a | findstr /v /i "%account-filter%" >>%alog-ansi-2beSet%

)

:: setting remaining accounts to never expire
for /f "tokens=1" %%a in (%alog-ansi-2beSet%) do (

	WMIC USERACCOUNT WHERE "Name='%%a'" SET PasswordExpires=FALSE

)

del %alog-unicode%
del %alog-ansi%
del %alog-ansi-2beSet%

Hier noch ein paar Hinweise zum Script:

Das Auslesen der Benutzer über das WMI erzeugt erst einmal eine Datei im Unicode Format. Mit dieser kann FOR aber nichts anfangen, wir müssen diese also nach ANSI konvertieren. Das geschieht mit einem einfachen TYPE .

type UNICODE-DATEI > ANSI-DATEI

Am Ende des Scripts werden alle erstellten Dateien wieder gelöscht, wer diese zur Dokumentation behalten will kann einfach die letzten drei Zeilen mit einem :: oder REM versehen und findet diese dann unter %TEMP%\NAME-DER-LOGDATEI.EXT.

:: del %alog-unicode%
:: del %alog-ansi%
:: del %alog-ansi-2beSet%

Enjoy it, b!