Unser App-V
Buch

- App-V Infrastruktur
- App-V Client
- App-V Sequenzierung
- Tools & Troubelshooting
- PowerShell mit App-V

Image is not available
Image is not available
Image is not available
Image is not available
Image is not available
Image is not available

Hochwertige Lösungen mit bestem Kundenservice

Terminalserver- und Desktop Umgebungen mit der besten Usability

Schulungen und Workshops

Intuitive individuelle Lösungen

App-V SaS über 20 Standardanwendungen

Alle wichtigen Browser

Wichtige Standardanwendungen

Wöchentlich aktuallisiert

Mit Support

Individuelle Anpassungen sind möglich

Schnell auf Sicherheitslücken reagieren

Bonus: Einige MSIX Pakete für WVD

Slider
Innovation
previous arrow
next arrow
Slider

Dipl.-Ing. (FH) Andreas Nick ist seit 1998 in der IT als Berater tätig mit Schwer-punkt auf Microsoft App-V und MSI Paketerstellung, Citrix Terminalservices und der Automatisierung der IT-Administration. Seit 2007 selbstständig und heute Inhaber der IT-Beratungsfirma „Nick Informationstechnik GmbH“.
Im Bereich App-V sind insbesondere seine Tools AppBot zur Konvertierung von Citrix Application Streaming Paketen nach App-V und der V-Injector zu erwähnen, welche es ermöglichen, App-V Pakete ohne den App-V Sequencer zu bearbeiten. Weiterhin stellt Andreas Nick Tools für ein automatisiertes Patchmanagement für Citrix XenDesktop und XenApp Umgebungen zur Verfügung. Privat ist Andreas Nick verheiratet und Vater von zwei Söhnen.

http://www.nick-it.de
http://www.appbot.de
http://www.coremag.de

 

 

Powershell Backup mit Winrar

WRar180x180Vor einiger Zeit hatte ich das Problem, dass ich gerne Einzelbackups aller Spiele von Uplay und Origin haben wollte. Also einige löschen und später, bei Bedarf wieder recovern. Dafür habe ich dann ein kurzes Powershell Skript geschrieben, dass in Verbindung mit Winrar genau das erledigt. Ein Recovery habe ich nie getestet. Jedoch das Backup.

Hier das Skript dazu. WinRar muss installiert sein. Besonders die Nutzung von Winrar zur Archivierung mit Powershell dürfte auch für viele andere Zwecke Interessant sein.

Ich plane dafür ein Tool zu Bauen. Also ein Backup und Recovery Tool für Origin, UPlay und Steam. Hätte daran jemand interesse?

Weiterlesen
  5964 Aufrufe
  0 Kommentare
5964 Aufrufe
0 Kommentare

Citrix PVS Connection check mit Powershell

citrix PVSFür die Systemüberwachung reicht es machmal nicht, die Serververfügbarkeit zu prüfen. Wir hatten vor kurzem das Problem, dass ein PVS Server aus Netzwertechnischen Gründen verfügbar und voll finktionsfähig war, aber leider dennoch keine Images gestreamt hat. Zur Überwachung mit SCOM ist ein kleiner Powershell Skript entstanden, dass die Verbindungen von einem Citrix PVS Server überpruft. 

Wenn wir 0 Verbindungen haben, ist etwas nicht OK und das Skript liefert "False" zurück. Im Folgenden das genannzte Skript.

Weiterlesen
  8032 Aufrufe
  0 Kommentare
8032 Aufrufe
0 Kommentare

Citrix Studio XenDesktop startet langsam und mit dem Fehler

citrix

Hier kommt das alte Problem mit der Zertifikatprüfung wieder hoch. Das Signierte Programm Prüft beim Start die Gültigkeit der Zertifikate. Hat der Server keine Internetverbindung, dann kommt des zu einem Stark verzögerten Start und zu der Fehlermeldung

Das Problem, den Zertifikatcheck im Browser abzuschalten ist, dass das eine riesige Sicherheitslücke in das System reißt. Alternativ können auch die Citrix Stammzertifikate exportiert und wieder importirt werden.

Weiterlesen
  6776 Aufrufe
  0 Kommentare
6776 Aufrufe
0 Kommentare

MSP Productcode mit Powershell auslesen

MSPPS 180x180Ein Windows Installer-Patch (MSP-Datei) ist eine Paketdatei, ein die Updates für eine bestimmte Anwendung enthält und beschreibt, welche Versionen der Anwendung gepatcht werden kann. Der Vorteil eines MSPs ist, dass nur die Dateien enthalten sind, die sich zu einem MSI ändern. MSP werden für Minor Releases eingesetzt (i.d.R. kleine Updates). Ich selber habe ein Tool in der Hinterhand, dass  binäre Differenzen für extrem kleine Patches verteilen kann (wird denn demnächst veröffentlicht).

In dem Patch enthalten ist u.a. ein Productcode und ein Patchcode für die zu ändernde Anwendung. Passt der Productcode zu einer installierten Anwendung, kann gepatched werden. Es ist also praktisch, diesen Code schon vor einer Installation zu ermitteln, um eine Softwareverteilung zu optimieren. Im Folgenden werden zwei Lösungen mit Powershell gezeigt.


Wie bekommt man den Productcode heraus? Eine Variante ist die Installation auf Codeplex: MSI Powershell Module. Der Nachteil dieses Modules ist, dass dafür auch wieder ein MSI installiert werden muss. Dies beinhaltet wiederum Komponenten des Windows Installer XML. Also nichts, was einfach in ein Paket eingebunden werden kann.Das MSI Powershell Module ist im übrigen sehr gut und ich kann das sehr empfehlen für komplexere Dinge. Nach der Installation bekommt man beispielsweise so die Daten einer MSI Datei:

get-msicomponentinfo `
    | where { $_.Path -like 'C:\Program Files\*\Common7\IDE\devenv.exe'} `
    | get-msiproductinfo

Vor kurzen habe ich nach einer Möglichkeit, gesucht, den Productcode eines eines MSP auszulesen, ohne diesen Overhead. Das COM Object "WindowsInstaller.Installer" bietet diese Möglichkeit. Der Vorteil ist, dass diese Funktionen leicht bei Installationen eingesetzt werden können. Also zum Abgleich, ob ein Patch für ein System geeigent ist. Demnächst baue ich das genau so in unseren Citrix XenApp Patcher ein.

Auslesen des "Display Name" des Patches mit Powershell. Achtung, dieser ist nicht immer im MSP enthalten:

function Get-MSPDisplayName {
<# 
.SYNOPSIS 
    Get the Display Name from an Microsoft Installer Patch MSP
.DESCRIPTION 
    Get Display Name from an Microsoft Installer Patch MSP (Andreas Nick 2015)
.NOTES 
    $NULL for an error
.LINK
.RETURNVALUE
  [String] Display Name
.PARAMETER
  [IO.FileInfo] Path to the msp file
#>
function Get-MSPDisplayName {
	param (
		[IO.FileInfo] $patchnamepath
	)
	try {
		$wi = New-Object -com WindowsInstaller.Installer
		$mspdb = $wi.GetType().InvokeMember("OpenDatabase", "InvokeMethod", $Null, $wi, $($patchnamepath.FullName, 32))
		$su = $mspdb.GetType().InvokeMember("SummaryInformation", "GetProperty", $Null, $mspdb, $Null)
		[String] $displayName = $su.GetType().InvokeMember("Property", "GetProperty", $Null, $su, 6)
		return $displayName
	}
	catch {
		Write-Output $_.Exception.Message
		return $NULL
	}
}

Auslesen des Productcodes eines Microsoft Patches (MSP) mit Powershell:

<# 
.SYNOPSIS 
    Get the Product Code from an Microsoft Installer Patch MSP
.DESCRIPTION 
    Get a Product Code from an Microsoft Installer Patch MSP (Andreas Nick 2015)
.NOTES 
    $NULL for an error
.LINK
.RETURNVALUE
  [String] Product Code
.PARAMETER
  [IO.FileInfo] Path to the msp file
#>
function Get-MSPProductcode {
	param (
		[IO.FileInfo] $patchnamepath
	)
	try {
		$wi = New-Object -com WindowsInstaller.Installer
		$mspdb = $wi.GetType().InvokeMember("OpenDatabase", "InvokeMethod", $Null, $wi, $($patchnamepath.FullName, 32))
		$su = $mspdb.GetType().InvokeMember("SummaryInformation", "GetProperty", $Null, $mspdb, $Null)
		#$pc = $su.GetType().InvokeMember("PropertyCount", "GetProperty", $Null, $su, $Null)
		
		[String] $productcode = $su.GetType().InvokeMember("Property", "GetProperty", $Null, $su, 7)
		return $productcode
	}
	catch {
		Write-Output $_.Exception.Message
		return $NULL
	}
}

Auslesen des Patchcodes eines MSP Patches mit Powershell:

<# 
.SYNOPSIS 
    Get the Patch Code from an Microsoft Installer Patch MSP
.DESCRIPTION 
    Get a Patch Code from an Microsoft Installer Patch MSP (Andreas Nick 2015)
.NOTES 
    $NULL for an error
.LINK
.RETURNVALUE
  [String] Product Code
.PARAMETER
  [IO.FileInfo] Path to the msp file
#>
function Get-MSPPatchcode {
	param (
		[IO.FileInfo] $patchnamepath
		
	)
	try {
		$wi = New-Object -com WindowsInstaller.Installer
		$mspdb = $wi.GetType().InvokeMember("OpenDatabase", "InvokeMethod", $Null, $wi, $($patchnamepath.FullName, 32))
		$su = $mspdb.GetType().InvokeMember("SummaryInformation", "GetProperty", $Null, $mspdb, $Null)
		$pc = $su.GetType().InvokeMember("PropertyCount", "GetProperty", $Null, $su, $Null)
		#Write-Host $pc
		[String] $patchcode = $su.GetType().InvokeMember("Property", "GetProperty", $Null, $su, 9)
		return $patchcode
	}
	catch {
		Write-Output $_.Exception.Message
		return $NULL
	}
}

 

Weiterlesen
  11271 Aufrufe
  5 Kommentare
Markiert in:
Neueste Kommentare
Gäste — Frank
Hi, bei mir funzen deine scripts nicht. Schade: Idee? Exception calling "InvokeMember" with "5" argument(s): "Type mismatch. (Ex... Weiterlesen
Montag, 06. Juni 2016 14:33
Andreas Nick
Mal ein Schnelltest mit einem MSP aus c:\windows\installer. Alles mit 32/64 Bit und PowerShell V2 und V5. Alles ok. Ich vermute es... Weiterlesen
Montag, 06. Juni 2016 15:04
Gäste — Frank
Hi, habe dir eine email gesendet. Frank
Montag, 06. Juni 2016 15:21
11271 Aufrufe
5 Kommentare

NITCtxPatcher a patchmanager for Citrix XenApp and XenDesktop 7.x

NITCtxPatcher a patchmanager for Citrix XenApp and XenDesktop 7.x

May 2017 The NITCtxPatchManager is back, after some changes from Citrix on the website. Finally we've made it this far. Version 1.1.2 is available. Now with support for XenApp/XenDesktop 7.7 and 7.6 SP3. You can now detect the superseded hotfixes with the report function.

Broken:( are you searching for a version for XenApp 6.x ? Go to this blog post >here<)

Searching for patches on the Citrix website is a lot of work. 10 sites with 10 patches on each site for XenDesktop 7.6 alone. Therefore I have decided to build a patching tool and patchmanager for Citrix XenApp and XenDesktop 7.x. We created this application to download all hotfixes and LIMITED hotfixes.
This is the first release with all features. This tool can save a lot of work. Maybe even a few days in the year for an administrator, making it a real timesaver. Eric from Xenappblog.com has written a nice contribution about this: Automate Citrix Hotfix Installation Together With Feature PacksAutomate Citrix Hotfix Installation Together With Feature Packs

Direct downlaod latest Version 1.3.0

Please also note our other tool for Citrix :AppBot, a Citrix Application Streaming (CAS or XenApp Streaming) to App-V 5 and MSI Converter:Appbot

NITCtxPatcher Version1.3

Weiterlesen
  81116 Aufrufe
  39 Kommentare
Markiert in:
Neueste Kommentare
Gäste — Samuel Meier
On just such a tool I've been waiting. The Citrix websites are extremely confusing. However, we have a proxy in the company. Pleas... Weiterlesen
Dienstag, 05. Mai 2015 23:26
Gäste — Mike
me too.Cool tool but the missing proxy feature is a real blocking issue.
Montag, 11. Mai 2015 14:46
Andreas Nick
The proxy feature is now in 0.9. Like to test?
Sonntag, 17. Mai 2015 22:19
81116 Aufrufe
39 Kommentare

wfica32.exe stürzt in einer XenApp Sitzung in Verbindung mit dem Citrix Receiver ab

XenAppwfica32.exe stürzt in einer XenApp Sitzung in Verbindung mit dem Citrix Receiver ab

Ich hatte vor einiger Zeit bei einem Kunden das Problem, dass bei einem Anwender nach dem Start einer Published Application die Sitzung mit dem Absturz von wfica32.exe beendet wurde.

Nach einiger Recherche stellte sich heraus, dass die installierten Drucker auf dem Client dafür verantwortlich waren, die nicht verbunden bzw. nicht gefunden werden konnten. Nach dem Löschen dieser Drucker auf dem Client trat der Fehler nicht mehr auf.

 

 

Weiterlesen
  10517 Aufrufe
  0 Kommentare
10517 Aufrufe
0 Kommentare

Erster App-V Anwendungsstart unter Citrix XenDesktop 7 dauert ungewöhnlich lange

Powershell


In den letzten beiden XenDesktop 7 Projekten hatten wir das Problem, dass der erste Start einer veröffentlichten App-V Anwendung ungewöhnlich lange dauerte, aber jeder weitere Start in der Sitzung schnell ging. Meine erste Vermutung war, dass es unter Umständen eine Zeit dauert bis die virtuelle Umgebung für den Anwender geladen ist.

Es stellte sich jedoch heraus, dass in diesen ca. 25 sek. Verzögerung beim Erststart 81 Dateien durch Powershell ins Profil des Anwenders geschrieben werden, bevor die App-V Anwendung startet.


Wenn sie nicht da sind, werden sie erstellt, sind sie da wird nur eine dieser Dateien angefasst und der Start geht schnell. Die Dateien lassen sich auch zwischen verschiedenen Usern austauschen, da sie identisch sind.

Weiterlesen
  5752 Aufrufe
  0 Kommentare
5752 Aufrufe
0 Kommentare

vmware vSphere Host unter XenApp 7.x

Citrix Vmware 180x180Eine der wichtigsten Aufgaben bei der Installation einer neuen XenApp/XenDesktop 7 Umgebung ist es, den Zugriff auf den Hypervisor zu konfigurieren. Die von uns betreuten Umgebungen nutzen als Basis meist vmware ESXi in Verbindung mit vSphere. Weiterhin ist auch immer wieder die vSphere Appliance ein Thema.

Die Citrix Desktop Delivery Controller oder DDCs müssen dabei über https mit dem vmware vSphere Server kommunizieren.  Sowohl die Appliance als auch ein vSphere Server unter Windows hat dabei ganz viele Ablageorte für Zertifikate. Nur das richtige finden ist nicht so einfach. Nachdem ich mich nun einige male durchgewühlt habe und mit den englishen Anleitungen nicht wirklich glücklich bin (wo ist die Appliance?). Schreiben wir hier nun unseren eigen Artikel dazu.

Weiterlesen
  9621 Aufrufe
  0 Kommentare
Markiert in:
9621 Aufrufe
0 Kommentare

New Version: NIT-GPOSearch is a free tool to search in the Group Policy definitions

GPOSearch Symbol smal 180x180NIT-GPOSearch is a free tool to search in the Group Policy (admx, adml) definitions for a specific setting. New in Version 1.2 - search in the domain template definitions.

Can you once again the settings for loopback not find? Here is the solution. NIT GPOSearch is a tool that run on any desktop or server from Windows 7. on request, of some users now also as ZIP archive

Weiterlesen
  30636 Aufrufe
  8 Kommentare
Neueste Kommentare
Gäste — Peter Gam
Fine tool! Thank you
Freitag, 02. Mai 2014 20:29
Gäste — Marcin
Why it won't search e.g. in \\domain.local\SysVol\domain.local\Policies\PolicyDefinitions ?
Donnerstag, 24. Juli 2014 16:54
Andreas Nick
This feature comes in the new version. Furthermore, the display of the data is changed (September 2014).
Donnerstag, 24. Juli 2014 17:41
30636 Aufrufe
8 Kommentare

V-Injector an direct appv (app-V 5) file editor

VInjector 180x180The V-Injector is a tool for direct editing of App-V 5 .appv (package) files. V-Injector is a small single C ++ / CLI exe ( “< 400 kb !”) . Very fast and efficient for this purpose. The V-Injector will not extracting an appv file to your file system (like the sequencer)!

This is the first release. The biggest problems have solved and we have kept the tool on a simple functional status to find any bug! Other functions will gradually integrated into this free software (like Drag/Drop of files, a command line interface etc.).

VInjecotor appv file overview

Weiterlesen
  20496 Aufrufe
  10 Kommentare
Markiert in:
Neueste Kommentare
Gäste — Harum Mamas
super tool, thank you. Please provide startmenu link editing in the next version!
Dienstag, 24. März 2015 14:36
Gäste — Mark Eggert
Do you plan on adding a way to edit the registry inside an AppV5 package? This would be very valuable because I need to update a r... Weiterlesen
Dienstag, 28. April 2015 21:31
Andreas Nick
That was exactly the right question Here's a screenshot of the new registry module. I'm currently being heavily covered with work... Weiterlesen
Dienstag, 28. April 2015 21:53
20496 Aufrufe
10 Kommentare

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.