Design
about design and conceptual things
Von der OnPremises VDI zur Cloud VDI, was darf es denn sein? Ein Schnellstart zu den unterschiedlichen VDIs in der Azure Cloud
Aktuell stellt sich für immer mehr Firmen die Frage, ob sie weiterhin traditionell ihre VDI on‑premises zur Verfügung stellen oder ob diese zukünftig aus der Cloud bereitgestellt werden sollten.
Die EUC‑Welt ist im Umbruch, und es gibt heute weit mehr ernstzunehmende Alternativen als nur ein oder zwei grosse, etablierte Hersteller. Oder vielleicht ist das auch meine persönliche Meinung, nachdem ich ein bisschen aus meiner Bubble herausgekommen bin – aber ich denke, es gibt neue Bedürfnisse, und der Markt versucht nun, diese abzudecken.

Ich bin ein jahrelanger „Citrix‑Tech-Evangelist“ und auch heute noch absolut von deren Technologie überzeugt. Für mich steht fest, dass Citrix als Unternehmen die leistungsstärksten Applikations- und Desktopvirtualisierungen entwickelt hat. Dennoch holt die Konkurrenz auf, und es muss nicht für jeden Kunden das Nonplus-ultra sein. Die Firma, bei der ich tätig bin, setzt nach und nach mehr auf Microsoft und verfolgt seit Jahren eine Cloud‑Strategie.
So ist es naheliegend, dass die Option, on‑premises VDIs durch eine Microsoft Azure VDI‑Lösung zu ersetzen, in Betracht gezogen werden muss.
Unter den Leser dieser Seite gibt es eventuell auch welche die bereits mal in den letzten zwei Jahren in den Genuss kamen, den Vortrag von Fabian Tschanz, Stefan Moser und mir an einem der Events (z. B. am Workplace Ninja Summit oder an der E2EVC) zu hören – wissen, dass wir für unsere Entwickler bereits auf „grüner Wiese“ mit Microsoft AVD Single Session als Entwickler‑VDI ein Projekt durchgeführt haben.
Nun ist die Welt einfach, wenn man auf grüner Wiese startet; muss man jedoch Bestehendes ablösen, gestaltet sich das aufgrund der bestehenden und teils ungenannten Requirements als schwierig. Manchmal wird eine Lösung für einen Zweck gebaut und dann für etwas anderes genutzt – etwas, das die Plattformentwickler nicht auf dem Radar hatten – sodass sie bei einer Migration verloren geht. Also muss auch hier noch einmal Requirements Engineering betrieben werden.
Windows 365 Frontline und/oder AVD Multi‑Session. Und was ist Windows 365 Frontline im Shared Mode?
Wir wollen also als Nächstes die Use Cases abdecken:
- dedizierte VDI für Power User mit speziellen Bedürfnissen (meistens ohne Firmengerät) und
- die Nutzer der gepoolten VDIs, die die VDI gelegentlich nutzen und eventuell auch ein Firmengerät haben.
Nun bietet Microsoft viele Lösungen, und es kommen immer noch neue Flavors dazu. Was ist denn nun das Richtige?

Windows 365? Microsoft Azure Virtual Desktop? Ach, damit noch nicht genug – es gibt noch Also, ich versuche das mal ein bisschen auseinanderzunehmen. Als ich jemandem On‑Prem, IaaS, PaaS und SaaS erklären musste, half mir jeweils das Pizza‑Modell (siehe Bild rechts), das Albert Barron, Global Principal Architect, Financial Services bei Google, in einem LinkedIn‑Post von 2014 erklärt hat.
Ich möchte nicht behaupten, so clever und gut im Erklären zu sein wie Barron, aber ich versuche, die Microsoft Azure VDIs – also alles, was oben aufgezählt wurde – ein bisschen aufzuteilen. Meiner Meinung nach handelt es sich dabei um verschiedene Mixturen aus PaaS und SaaS.
Windows 365 (Cloud PC)
- Vollständiger, persistenter Cloud‑PC für jeden Nutzer
- Feste Zuweisung von Ressourcen (dedizierte VM)
- Integriert mit Microsoft Endpoint Manager (Intune) für Verwaltung
- Einfache Einrichtung ohne komplexe Infrastruktur
🍕Im Pizza‑Modell würde ich sagen: Das ist wie auswärts essen in einem Restaurant, das immer Platz für mich hat – am für mich dedizierten Tisch steht mein Name. Ich kann die Pizzen aus der Speisekarte in definierten grossen Grössen wählen. Wenn ich ein Rezept liefere, wird auch diese Pizza für mich nach meinen Wünschen belegt und gebacken.
Windows 365 Frontline (Dedicated)
- Speziell für Schichtarbeiter oder für geteilte Nutzung konzipiert
- Jeder Benutzer hat eine dedizierte VM, die nur während der Arbeitszeit genutzt wird
- Lizenzierung auf Basis gleichzeitiger Nutzung (nicht pro Benutzer)
- Automatisches Herunterfahren ausserhalb der Schichtzeiten, um Kosten zu sparen
🍕Im Pizza‑Modell würde ich sagen: Das ist wie auswärts essen in einem Restaurant, in dem sich mehrere Parteien abwechselnd einen Tisch teilen – jeden Tag kann der Tisch dreimal verkauft werden. Ich kann die Pizzen aus der Speisekarte in definierten grossen Grössen wählen. Wenn ich ein Rezept liefere, wird auch diese Pizza für mich nach meinen Wünschen belegt und gebacken.
Mehr Infos zu Frontline hier: Mehr Infos zu Frontline dedicated hier: https://learn.microsoft.com/en-us/windows-365/enterprise/introduction-windows-365-frontline#windows-365-frontline-in-dedicated-mode
Windows 365 Frontline (Shared)
- Mehrere Benutzer teilen sich denselben Cloud‑PC
- Speziell für Umgebungen mit geteilten Arbeitsplätzen (z. B. Callcenter)
- Kosteneffiziente Nutzung, da keine dedizierte Maschine pro Benutzer nötig
- Ressourcen werden dynamisch zugewiesen
🍕 Im Pizza‑Modell würde ich sagen: Das ist wie auswärts essen in einem Restaurant, in dem sich mehrere Parteien abwechselnd einen Tisch teilen – jeden Tag kann der Tisch dreimal verkauft werden. Die verschiedenen Parteien müssen alle dieselbe Pizza in der gleichen grossen Grösse essen. Ich kann die Pizzen aus der Speisekarte in definierten grossen Grössen wählen. Wenn ich ein Rezept liefere, wird auch diese Pizza für mich nach meinen Wünschen belegt und gebacken.
Mehr Infos zu Frontline shared hier: https://learn.microsoft.com/en-us/windows-365/enterprise/introduction-windows-365-frontline#windows-365-frontline-in-shared-mode-preview
AVD (Azure Virtual Desktop) Single Session
- Jeder Benutzer hat eine eigene VM (ähnlich wie bei Windows 365, aber flexibler)
- Unterstützung für verschiedene VM-SKUs (angepasste Leistung)
- Verwaltung über Azure Resource Manager, nicht Intune
- Lizenzierung über bestehende Microsoft 365 Lizenzen oder separate Windows-Lizenzen
🍕 Im Pizza‑Modell würde ich sagen: Das ist wie auswärts essen in einem Restaurant, das immer Platz für mich hat – ich kann bestimmen, wie der Tisch gedeckt ist und wie gross er sein soll. Auch bei der Pizza bin ich flexibler: Sie muss nicht zwingend rund sein, ich kann sie auch viereckig machen. Wenn ich mich dumm anstelle, wird die Pizza extrem teuer und ich kann sie gar nicht mehr vollständig essen – oder sie ist so klein, dass ich weiter Hunger habe.
AVD (Azure Virtual Desktop) Multi Session
- Mehrere Benutzer teilen sich eine einzige VM (Windows 10/11 Multi Session)
- Ideal für Unternehmen mit vielen gleichzeitigen Nutzern (z. B. Remote-Arbeitsplätze)
- Ressourcen werden flexibel zwischen den Benutzern aufgeteilt
- Kosteneffizienter als Single Session, da weniger VMs nötig werden
🍕 Ähnlich wie bei AVD Single Session, aber ich kann auch mehrere Personen gleichzeitig von einer Pizza essen lassen – so kann ich effizient eine Pizza herstellen. Der Pizzaiolo muss dann nur eine Pizza backen und wir brauchen nur einen Tisch, aber acht Leute werden satt. Es müssen aber alle acht dieselbe Pizza-Art essen. Ich kann viele Tische mit 8 Personen die gemeinsam eine Pizza essen machen. Ich habe viele Anpassungsmöglichkeiten für das lokal und die Tische.
Mehr Infos zu AVD MultiSession hier: https://learn.microsoft.com/en-us/mem/intune/fundamentals/azure-virtual-desktop-multi-session
Also gut, und was ist nun das Richtige? Das kommt nun eben ganz auf die Bedürfnisse an – es gibt keine falsche Lösung, vielleicht passt die Lösung einfach nicht zu dem Problem, aka Herausforderung oder Use Case.
Ich werde in den nächsten Wochen und Monaten wohl die flexibleren Lösungen mit Azure Virtual Desktop in den Ausprägungen Single Session und Multi Session anschauen, und ich bin sicher, dass ich auch hier noch vor einigen Entscheidungen stehe …
Tokenbasierte Registrierung des Citrix VDA
und wie man die Microsoft AVD Welt mit Citrix DaaS kombinieren kann …
Citrix hat in den vergangenen Monaten einiges investiert um die virtuellen Desktop Agents (VDA’S) von Windows Domains unabhängig zu machen. Dies war auch gerade für Linux und Mac’s wichtig, und es war auch bereits seit einiger Zeit möglich in Azure mittels Citrix Tools Non-Domain-joined VDIs mit Citrix Boardmittel zu provisionieren. Neu in der Version 2407, erstmals als TechPreview, ist das sich auch Windows Maschinen die man selbst über andere Wege provisioniert via einem Token und ohne Domain, ohne Delivery Controller oder Cloud Connector eingebunden werden können.
Bei der Installation des VDA’s kann anstelle eines DDC, direkt das Token angegeben werden:

(Wichtig, es muss direkt das Token, uns nicht der Pfad zum Tokenfile angegeben werden)
Anleitung bei Citrix: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/install-configure/install-vdas.html#step-7-delivery-controller-addresses
Es ist so dass dieses Token in der Citrix DaaS Console auf dem entsprechenden Maschinen Katalog, wo der VDA eingebunden werden soll mittels rechtsklick generiert werden muss:

Es können mit einem Token bis 100 VDAs deployed werden, das Tokem ist maximal 14 Tage gültig.
Provisioning Method beim Maschinenkatalog muss auf „manuell“ stehen.

Die Installationssteps sind da ebenfalls in den „Review the enrollment steps beschrieben“

Ich habe diese neue Funktion genutzt um per Pipeline erstellte Azure AVD VMs in Citrix einzubinden, welche ich bisher über AVD genutzt habe. Somit habe ich nun eigentlich eine VDI die ich klassisch über Microsoft brokern und verbinden kann, jedoch zusätzlich auch über Citrix. Man könnte sich an dieser Stelle fragen, warum jemand die Citrix-Broker-Infrastruktur nutzen möchte, aber nicht die Citrix-Provisionierungsmethode für Azure (MCS) verwendet. Dafür kann es verschiedene Gründe geben, möglicherweise weil jemand eine automatisierte IaaS-Pipeline mit Bicep verwenden möchte, um die Kontrolle über die Bereitstellung und den Aufbau der Infrastruktur zu behalten, oder weil es andere Gründe gibt, die verhindern, dass Citrix-Techniken zur Erstellung von VMs genutzt werden. Ich möchte hier nicht mehr ins Detail gehen, sehe aber eine Möglichkeit, die Dinge anders zu machen, mehr Kontrolle zu gewinnen und trotzdem die Vorteile der Citrix-Technologien im Brokering und des ICA-Protokolls zu nutzen.
Da meine Maschinen nur im Azure-AD drin sind, ist es wichtig dass ich die Delivery Gruppe so konfiguriert habe, dass diese den LogonType auf AzureAD stehen hat. Dies habe ich mit dem Command
Set-BrokerDesktopGroup <DeliveryGroupName> -MachineLogonType AzureAD
bewerkstelligt.
Weiter ist zu beachten, dass wenn ich auf die Maschine weiterhin auch ohne Citrix zugreiffen will, dass ich meinen Benutzer in die Gruppe Direct Connection Access aufnehme, ansonsten kriege ich beim Verbinden ohne Citrix folgende Meldung:

Dies sind meine ersten Berührungen mit dem neuen tokenbasierten Rollout des VDAs. Natürlich müssen diese Steps für eine Business Umgebung mit dem Token lösen und einsetzen automatisiert sein, was in meinem Hands-On experiment alles von Hand auf der grafischen Oberfläche gemacht wurde.
My Smart Home – Kapitel 3-2: Smartacus – Anwendungsfälle
Die Anwendungsfälle von IoT sind nahezu unbegrenzt, eher setzt die Vorstellungskraft Grenzen als die Technik. Wie Smartacus auf Ihrer Webseite wirbt sind im Bereich Smart Home folgende 3 Ziele die am meisten gesehenen:
- Energieverbräuche senden („intelligentes“ Heizen und Beleuchten)
- Komfort steigern (z.B. Szenenbasierte Geräte/Lichtsteuerung)
- Sicherheit erhöhen (Licht einschalten beim Heimkommen, aktive Sensoren bei Abwesenheit)
Ich habe mit der Smart Home Geschichte angefangen, weil ich es spannend finde zu sehen was möglich ist, meiner Frau verkaufe ich es natürlich als Komfortverbesserung.
Achtung! Mit einem falsch eingesetzten Smart Home lässt sich im Übrigen auch genau das Gegenteil erreichen! Ein nicht gut konfiguriertes System kann den Komfort verschlechtern, die Sicherheit reduzieren oder auch mehr Energie verbrauchen. Hier ist es wichtig zu wissen was man macht und welche Produkte man einsetzt. Ich verzichte zum Beispiel absichtlich im Moment auf eine smarte Türöffnung wie es sie z.B. von Nuki gibt. Auch messe ich den Stromverbrauch meiner Komponenten bevor ich diese integriere. Die Smartacus Basisstation braucht zum Beispiel nur 7 Watt beim Start und 4 Watt im Betrieb.
Aber nun weiche ich vom Thema ab … eigentlich wollte ich in diesem Blog-Post Beispiele bringen wie Smartacus eingesetzt werden kann. Natürlich sind diese Anwendungsfälle auch auf andere Smart-Home Systeme anwendbar.
Hier meine ersten realisierten Anwendungsfälle
Intelligentes Heizen
Wer braucht 22° wenn er schläft? Ist es nicht Schade wenn in der Nacht die Wohnung stärker geheizt wird als nötig, bei tieferer Temperatur schläft man nicht nur besser sondern man spart auch Energie! Hier erreichen wir sowohl den Energiespar-Effekt wie auch die Komfortsteigerung. Zu realisieren ist das Ganze im Smartacus Portal via den Reiter Zeitsteuerung.

Auch wird viel Energie verpufft, wenn man Fenster oder Türen öffnet, gerade jetzt wo wir Temperaturen weit unter dem Gefrierpunkt haben, dreht die Heizung voll auf wenn es rapid Kalt wird.
Mit Einsatz eines Tür-/Fensterkontaktes (1) kann dies verhindert werden und wir heizen nicht das Dorf sondern der Heizkörper Thermostat (2) regelt die Temperatur runter. Dies geschieht über den Reiter Dienste:

Natürlich muss man dran denken auch einen „Gegendienst“ zu bauen welcher bei Schliessung der Tür die Heizung wieder auf die Wunschtemperatur stellt.
Intelligentes Beleuchten
Früher habe ich Weihnachts-Beleuchtung einfach mit einer mechanischen Zeitschaltuhr dazu gebracht nur am Abend und am Morgen zu leuchten. Ein smarter Zwischenstecker (3) lässt sich zwar wie eine Zeitschaltuhr konfigurieren und man erreicht damit dass Weihnachtsdeko nicht für die Katze leuchtet, aber toll ist das man es Beispielsweise mit einem Multisensor (4) erweitern kann und somit die Beleuchtung auch abhängig von Helligkeit oder Bewegung steuern. So kann jemand um 02:00 in der Nacht an unserem Balkon vorbeilaufen und der Leuchtende Stern geht auch für diesen Nachtschwärmer an.
Intelligentes „dummes“ Heizen
Dieser Winter war wieder besonders kalt und letzte Woche als bei uns eine Aussentemperatur von -14° Celsius herrschte ist es wieder passiert
, uns sind im Keller die Wasserleitungen zu gefroren.
In unserem alten Haus, welches ein umgebautes Bauernhaus aus dem letzten Jahrhundert ist, lässt sich dieses Problem leider nur durch jeweils kurzfristiges elektrisches Heizen lösen. Im Keller gibt es keine Möglichkeit anders zu heizen. Eine leider sehr ineffiziente und verschwenderische Lösung.
Zum Glück reicht es, wenn wir im Keller eine Temperatur von 4-5° erreichen, das Problem ist dass sich die im Haushalt gebräuchlichen Elektroöfen nicht auf 4° einstellen lassen, die Skala beginnt irgendwo bei 15°.
Mit dem Multisensor (4) und einem smarter Zwischenstecker (3) lässt sich auch dieses Problem lösen und wir können unseren Keller auf 5° heizen.
IoT, LaMetric and mouse issues …
In summer 2014 I became a backer for the Kickstarter project LaMetric. LaMetric was advertised as a smart ticker for life and business. To be honest the Internet of Things (IoT) topic was not so present for me in summer 2014 and I just decided to spend some money for a cool gadget.
Last week I finally received my LaMetric Time and today I need to say it’s one of the coolest gadget I bought in the last months. With the acquisition of Octoblu, what Citrix made early this year and promoted on Citrix Synergy (especially on the GeekSpeak Tonight …) I’m now more aware of IoT an it’s possibilities!
LaMetric is the perfect IoT output device!
First LaMetric app
The creation of apps is pretty easy! On the LaMetric developper portal you can create your push or poll apps. With push you can transmit data to the LaMetric servers in JSON code. W ith pull it’s also easy, you just need a webserver on which you have a file in the correct format.
On this way I created the EuroMillions app which display the current Jackpot. The data are fetched from www.euro-millions.com and formatted with a small and simple PHP script:
{
"frames": [
{
"index": 0,
"text": "<?php
$host = "http://www.euro-millions.com";
$filestring = file_get_contents($host);
$startpos = 0;
// <div class="est-jackpot">&euro;30<span class="amount">Million</span></div>
while($pos = strpos($filestring, ">&euro;", $startpos))
{
$string = substr($filestring, $pos, strpos($filestring, "<span class=", $pos + 1) - $pos);
//echo $string. " ";
echo str_replace(">&euro;","","$string");
$startpos = $pos + 1;
}
?> Millions estimated in next Jackpot",
"icon": "i616"
}
]
}
Result:
First IoT LaMetric Project
Problem
I’m living in an old farmhouse which is converted with some apartments, but it’s still a old house with a lot of wood. And the old problems … mouses. So I have now since some weeks 4 mouse traps installed, not the killing traps, only those which able me to take the mouse out of my apartment.
Problem: Every morning I need to check all mouse traps, because the traps are hidden positioned an annoying daily work. And with the risk that the mouse need to wait hours until I find them.
Concept
Now the concept of my first IoT project is to get alerted as soon a mouse get in a trap.
I want to solve this with:
- a modified mouse trap with an attached window/door sensor, something like this http://store.wirelesstag.net/products/reed-kumosensor
- an Octoblu workflow
- and LaMetric as Output device.
The result must be this:
Implementation
Need some hours … I have to learn how to handle octoblu and learn a bit of JSON.
Achieve fastest Citrix Provisioning Target Device
Citrix Provisioning Services is in my point of view an incomparable way to deliver a Software image to a system. It’s not a kind of an known enterprise software deployment, rather it’s a way to stream a virtual disk during runtime to hardware. Beside of PVS, the acronym of Provisioning Services.
This article doesn’t explain what’s PVS and how it works. It only shows my personal best practice to have the fastest PVS target device. It’s maybe not the only one and right solution to work with PVS, e.g. for VDI other approaches would match better. In the last couple of years I was working on multiple projects to introduce PVS OS streaming for XenApp servers on physical hardware or virtualized servers. The following instruction shows my way to deliver the fastest PVS Target for read-only XenApp servers, or in the XenApp replacement this role is Xen Desktop 7.x App Edition called .
In this article I only mention performance relevant topics, I will not talk about HA, continuous availability or about PXE, TFTP and so on.
#1. Reduce reads from disk, make use of Standby Memory for vDisks
The best way to increase performance is to reduce work, in this first step it’s to reduce the hard disk read by reading virtual hard disk files (VHD’s). This can be achieved by make use of the Windows disk cache, this approach is possible on physical PVS servers and as well on virtualized PVS servers on any hypervisor. Using the Windows disk cache means that files which are read from disk, are cached in Standby memory of the Server.
(If you are using XenServer as hypervisor have a look to the IntelliCache feature, http://blog.citrix24.com/how-does-intellicache-work. )
To make use of the file cache you need:
- The vDisk on local drives, no CIFS share, no NFS share.
- A plenty of memory to the PVS.
Having the vDisk’s on local disks is not the common way to work with PVS, keep in mind that you have to synchronize the files on all servers in PVS farm.
You can check if the file cache is used properly by having a look in the resource manager. If you have nearly no free memory and have a lot of use standby memory it’s a good sign:
To have a deep dive look in the cache use RamMap and keep an eye to File Summary:
#2. Use Target Device Write Cache on Ram
The second second way to increase performance is to use fastest possible storage, hard disk drives are quite fast today, solid state disks are faster but Ram is still the fastest memory. Because we need on the Target device only the Write Cache it doesn’t matter that the Ram is a transient memory.
A short performance comparison:
With AS SSD Benchmark you can measure the speed of your disk.
Target Device with WriteCache on Ram:

Target Device with WriteCache on local disk:

( AS SSD Benchmark is Freeware and you can download and donate on: http://www.alex-is.de/PHP/fusion/downloads.php?cat_id=4&download_id=9 )
Keep in sight the Memory
When you working with Write Cache in the Target device Ram you must appreciate the dangers of it … If you are running out of WriteCache the Target Device, perhaps a XenApp server with 50 users on it, will reboot immediately .
(By the way … Citrix Provisioning Services 7.1 offers a great new feature, it’s the possibility to Cache to Ram with overflow to hard disk. Do not use it … it doesent work proper! Waiting for a hotfix.)
- Plan the amount of real used Memory:Think how much of the Ram you will use for WriteCache, give as much as possible and consider the real memory usage of a fully loaded server. e.g. if you have a XenApp server as Target device with 16GB of Memory you can allocate 6GB for WriteCache and have still 10GB Memory for the XenApp servers. If you have special memory hungry application on the server you need maybe an other segmentation. It doesn’t exists a recipe, have a look on your currently productive servers about the used memory.
- Reboot your Target device periodically to reset the used cache.
- Reduce usage of Write Cache by redirecting as much as possible to an other disk drive, of course this is only possible if you still have a local disk attached to the Target Device.Good candidates to redirect are:
- Printer Spooler
- Pagefile
- EventLog
- EdgeSight database
- Monitor your Write Cache, a way to do this is e.g. using this small Powershell script on the PVS server with a scheduled task:
(If you have PVS 7.1 with the newest Hotfixes I recommend to use WriteCache on Ram with overflow to hard disk)
#========================================================================
# Created on: 09.01.2014
# Created by: Sacha T. blog.sachathomet.ch
# Filename: Citrix-PVS-Get-Targetdevice-WriteCacheSize.ps1
#
# Descritpion: This script query the used write cache of the PVS farm
# connected target devices and write an event log entry if
# a target device exceed a definec % value of cache.
#
# Prerequisite: Script must run on a PVS server, where MCLI snap-in is registered.
#
# Register SnapIn with command: C:\WINDOWS\Microsoft.NET\Framework64
# \v2.0.50727\InstallUtil.exe 'C:\Program Files\Citrix\Provisioning S
# ervices Console\McliPSSnapIn.dll'
#
# Call by : Scheduled Task all e.g. all 5 min.
#
#========================================================================
$thresholdInformation=55 # define the Threshold in %
$thresholdWarning=70 # define the Threshold in %
Add-PSSnapin -Name McliPSSnapIn -ErrorAction SilentlyContinue
$pvsdevices = mcli-get device -f deviceName | Select-String deviceName
foreach($target in $pvsdevices)
{
$target | Select-String deviceName
$_targetshort = $target -replace "deviceName: ",""
mcli-get deviceinfo -p devicename=$_targetshort -f status
$devicestatus = mcli-get deviceinfo -p devicename=$_targetshort -f status
if ($devicestatus[4].TrimStart("status: ") -replace ",","." -gt $thresholdWarning)
{Write-Host "WARNING: The Write Cache of the PVS-Target device $_targetshort exceeded $thresholdWarning %! Intervention is needed" -foregroundcolor "red"
#do here what you need, email, eventlog etc ...
write-eventlog -logname Application -source StreamProcess -eventID 3001 -entrytype Warning -message "A PVS target device, $_targetshort, exceeded the threshold ($thresholdWarning %) !" -category 1 -rawdata 10,20
}
elseif ($devicestatus[4].TrimStart("status: ") -replace ",","." -gt $thresholdInformation)
{Write-Host "INFORMATION: The Write Cache of the PVS-Target device $_targetshort exceeded $thresholdInformation %! " -foregroundcolor "yellow"
#do here what you need, email, eventlog etc ...
write-eventlog -logname Application -source StreamProcess -eventID 3001 -entrytype Information -message "A PVS target device, $_targetshort, exceeded the threshold ($thresholdInformation %) !" -category 1 -rawdata 10,20
}
#3. Avoid if possible cross Data centre streaming
- If you have different subnet’s, make use of subnet affinity in the load balancing configuration on the vDisk.
- If you have one subnet over more data centres, create a store with the vDisk for each data centre and let only provide servers from the corresponding data centre this store. With this way you can still switch fast to a cross data centre configuration in a case of a PVS server outage in a data centre.
4#. Use all exiting best practice guides for tuning:
(for all what I’ve forget here … )
e.g. : http://blogs.citrix.com/2010/11/05/provisioning-services-and-cifs-stores-tuning-for-performance and http://support.citrix.com/article/CTX127549
ff





