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!