In den Anfangstagen von PowerShell meinten wir mit PowerShell Cmdlets immer die PowerShell Funktionen, die mit einer DLL importiert werden. Zu diesem Zeitpunkt war das quasi der Standard. Das hat sich heute erheblich geändert. In den seltensten Fällen sehe ich heute Module, die als DLL erstellt wurden. Nun wollte ich gerade einige hardwarenahe Funktionen in PowerShell nutzen, die in der Kernal32 DLL hinterlegt sind. Natürlich kann man das auch alles direkt in PowerShell integrieren aber leider ist mein Antivirus bei einigen Ausdrücken mit einmal recht aggressiv geworden. Klar, als C++ Programm sind hardwarenahen Geschichten ok nur wurden diese Funktionen scheinbar in letzter Zeit in PowerShell für böse Dinge genutzt. Daher habe ich mich entschlossen, alles in eine C# DLL zu verpacken. Dieser Blog beschriebt nun, wie man so etwas macht. Also ein PowerShell Modul als C# DLL.

Mir ist aktuell keine direkte Methode bekannt, mit der man mit einem einzigen Befehl eine Verknüpfung mit Parametern in Powershell erstellen kann. Jedoch kann man Objekte wie das WScript.Shall auch in PowerShell benutzen. Ich erinne mich zumindest wage, dass es in diesem Bereich eine Neuerung gab, konnte aber nichts finden. Hier nun dennoch die ultimativen Powershell Funktionen zur Erstellung von Shortcus. Dabei u.a. auch die Möglichkeit, administrative Shortcuts zu erzeugen, die eine Elevation der Anwendung bewirken. Als Parameter kann ein "ico" Icon File angegeben werden und ansonsetn wird versucht, mit den "Special Folders" zu arbeiten.
Die gesamte Architektur einer XenDesktop 7.x Umgebung baut auf die Nutzung interner Zertifikate auf. Für die interne Nutzung, zum Beispiel für Verbindungen des StoreFront Servers mit dem Desktop Devlivery Controller möchte man Zertifikate nutzen, die nicht jedes Jahr ausgetauscht werden müssen. Ein Jahr ist die Standardeinstellung der Microsoft CA für Webserver Zertifikate. Zusätzlich soll gezeigt werden, dass auch eine Microsoft CA mit Powershell installiert werden kann. Die Microsoft CA, kann über die Windows Rollen einem jeden Windows Serversystem hinzugefügt werden. Mit der CA können sehr leicht Zertifikate erstellt werden, die zum Beispiel für eine Serverauthentifizierung gültig sind. Neuen Anforderungen entsprechend werden heute in Terminalserverumgebungen fast alle Datenwege verschlüsselt. Also auch die Kommunikation mit der Citrix STA sollte verschlüsselt erfolgen. Nun bietet die Microsoft CA im Standard nur Zertifikate für zwei Jahre an. Es ist jedoch möglich, ein eigenes Template zu erstellen, um langjährige Zertifikate zu generieren. Hier eine Beschreibung, wie das zu erreichen ist. Zuerst die Installation der Microsoft CA mit Powershell. Einige Einstellungen sollten unbedingt genau kontrolliert werden. Diese Konfiguration ist für die Erstellung eines schnellen Zertifikates gut. Das kann auch in einer Testumgebung erfolgen und anschließend werden die Zertifikate für die Produktionsumgebung nur auf den Servern importiert, wo diese benötigt werden. Jedoch sollte so keinesfalls für die Gesamtstruktur eines Unternehmens installiert werden. Eine CA, für E-Mail Verschlüsslung ist sorgfältig zu planen. Das Root Zertifikate der Installation wird automatisch im Active Directory repliziert. Ist also nach einiger Zeit auf allen Domänenmitgliedern verfügbar (Server/Clients). Es ist daher zu empfehlen, die „ValidityPeriod“ der Root kürzer zu halten, falls es einmal zu kritischen Sicherheitsproblemen kommt.
Here are two simple Powershell scripts to automatic download and install all Visual C++ Runtimes for X86 and X64 Systems (2005, 2008, 2010, 2012, 2013, 2015).

