Een van de klanten waar ik kom stelde de vraag of het mogelijk is de geluidsinstellingen te bewaren. Het bleek dat als je geluid dempt, uitlogt en weer inlogt, dat het geluid weer maximaal staat.
Aangezien RES Workspace Manager wordt gebruikt met een hybride profiel (zero profiling), dacht ik eerst dat ik wat instellingen had vergeten op te slaan. Na wat zoekwerk blijkt Windows de instellingen van het geluid op meerdere plekken op te slaan, waarvan de raarste HKCU\Software\Microsoft\Internet Explorer\LowRegistry\Audio (waar Windows per applicatie het volume op slaat).. Uiteindelijk kwam ik op het volgende lijstje:
Echter, nog steeds werd het volume niet goed onthouden en stond hij op 100% bij het opnieuw inloggen en reconnecten van een sessie. Op zich ook wel logisch. Blijkbaar zet Microsoft bij remote sessies het geluid altijd naar 100% bij een connect. Gezien het feit dat het geluid al aktief is bij het inloggen van de gebruiker en de registrykeys die RES Workspace Manager zet, te laat worden geïnjecteerd in het register van de gebruiker blijft het volume daardoor vol aan staan. RES WM doet helaas ook geen ‘sound service reset’ om het volume te herstellen, zoals ze bij muisinstellingen wel doen.
Uiteindelijk kwam ik via fora het tooltje volume.exe tegen van Christoph Kolbicz. Deze tool schrijft bij het veranderen van het volume, onder HKCU\Control Panel\Sound weg of het volume gedempt (mute) is of niet en hoe hoog het volume staat. Bij een connect/reconnect worden deze waarden van het volume herstelt.
Door deze tool op te nemen in de Custom Resources van RES Workspace Manager, wordt hij eenvoudig gedistribueerd naar de verschillende servers. Met een external task is hij bij het inloggen van een gebruiker af te trappen.
Vergeet daarbij niet de external task in te stellen op ‘Run task at logon after other actions’ en uncheck ‘Wait for task to finish before continuing’. Het eerste zorgt ervoor dat de eerder genoemde registry keys zijn geïmporteerd voordat de tool draait en het tweede zorgt ervoor dat de shell ooit nog geladen wordt. De tool blijft immers op de achtergrond draaien zonder te stoppen en als je blijft wachten tot hij klaar is, duurt het inloggen heel erg lang
Bij steeds meer klanten krijg ik de klacht dat Citrix Shadowing niet lekker (meer) werkt. Een de ene kant loopt men tegen veel bugs aan (zwarte dos-prompts, niet afsluiten van shadowsessies) aan de andere kant loopt men tegen restricties aan die Microsoft in het Windows 2008 platform heeft gebakken, waaronder het niet kunnen shadowen van gebruikers met een andere monitor configuratie dan jezelf hebt.
Op zoek naar een alternatief liep ik tegen Hulp op Afstand aan. Deze bestaat al een tijdje, maar was in het verleden nou niet echt heel handig in gebruik. Toegeven, ook de huidige versie heeft nog een onhandigheid, maar werkt voor de rest wel naar behoren. De onhandigheid zit hem in het feit dat je eerst een server moet selecteren, alvorens je een lijst gebruikers ziet (die op die server zitten). Je moet dus van te voren weten waar de gebruiker zit.
Hoe configureer je dit
Als eerste moet je op al je XenApp servers de ‘Hulp op Afstand’ (Remote Assistance)-feature installeren. Dit kan eenvoudig met een tweetal powershell commando’s en de server hoeft er niet voor te rebooten. Tevens moet deze feature worden geïnstalleerd op de server waarvandaan je de gebruikers wil overnemen (tenzij dit een Windows Vista of Windows 7 desktop is, daar is deze feature standaard al op geïnstalleerd).
Vervolgens moet je via een GPO Remote Assistance configureren op de XenApp servers, zodat een beperkte groep gebruikers dit ook kan doen op die server. Voer daarvoor de volgende instellingen door:
Helpers: De users of usergroep die rechten hebben om anderen te schaduwen, bv HomeLab\App-Shadowing
Solicited Remote Assistance: Disabled (voorkomt dat gebruikers zelf om Hulp of Afstand kunnen vragen)
Allow only Vista or later connections: Zorgt ervoor dat er een meer secure verbinding wordt opgebouwd voor de schadow-sessie door af te dwingen dat alleen de nieuwe Hulp op Afstand clients gebruikt mogen worden
Turn on bandwidth optimization: Zorgt voor een betere schaduw-sessie. Door alleen de background uit te schakelen, blijft er een goed zichtbare sessie over met minimale compressie. Voor gebruik op een LAN zou dat dit geen probleem mogen zijn.
Vergeet na het aanmaken van de GPO geen GPUPDATE /FORCE uit te voeren op de servers of een tijdje te wachten, alvorens je hulp op afstand wil bieden, anders weigert Windows nog een verbinding op te bouwen.
Voor omgevingen waar RES Workspace Manager (of RES Powerfuse) actief is met Appguard en/of Read only blanketing aktief, moeten de volgende rules worden opgenomen om Hulp op afstand werkend te krijgen (doe je dit niet, dan krijg je de melding dat het opbouwen van een sessie is mislukt of de gebruiker de verbinding niet toestond):
msra.exe en raserver.exe willen beiden in ieder geval modify rechten tot c:\windows en c:\windows\system32. Een veiligere rule zou dus ook zijn om c:\windows\* te gebruiken en daar read/execute/modify rechten op te geven. Heb helaas nog niet de tijd gehad om dit verder te ‘verkleinen’.
Hoe gebruik je het?
Om vervolgens Hulp op Afstand te kunnen starten, kun je een shortcut aanmaken naar msra.exe met als parameter /offerra. Dit opent direct het scherm (1) om hulp te bieden met de vraag naar welke server (of pc) je wil connecten. Type de naam van de server of selecteer de server uit de lijst van eerder gekozen servers. Hierna verschijnt een (2) lijst van gebruikers die op deze server zijn ingelogd. Selecteer de gebruiker die je wilt overnemen in de dropdown-box en druk op Next. Je krijgt nu een wit vlak te zien met een paar opties bovenin. Deze opties blijven greyed-out totdat de gebruiker de verbinding heeft geaccepteerd. De gebruiker krijgt op dit moment het verzoek (3) met de naam van de beheerder in beeld. Nadat hij heeft geaccepteerd krijg jij het scherm (4) van de gebruiker te zien en krijgt de gebruiker een taakbalk in beeld ten teken dat hij geschaduwd wordt. Als de gebruiker 2 monitoren heeft, krijg je beide schermen in je beeld, als één groot ‘scherm’. Als je de gebruik wil overnemen klik je op de knop ‘Request Control’, de gebruiker (5) krijgt nu de vraag of hij toestaat dat jij de muis en toetsenbord overneemt. De optie ‘Hiermee kan [beheerder] reageren op UAC’ kan de gebruiker aanvinken als hij ook toestaat dat jij als beheerder eventuele UAC meldingen te zien mag krijgen.
Andere mogelijkheden:
Actual size: Geeft de schermen van de gebruiker op ware resolutie weer. Als de gebruiker een groter scherm heeft dan op jou display past, verschijnen er scrollbalken om het beeld.
Chat: Geeft de mogelijkheid om met de gebruiker te chatten
Hulp op afstand geeft alle schermen in de taal waarop de gebruiker (of beheerder) Windows heeft ingesteld.
Deze week hadden we bij een klant een probleem met een van de applicaties. Deze sloeg vrijwel alle instellingen goed op, behalve een bepaalde instelling van een snelbalk. Deze snelbalk werd opgeslagen in een bestand in de users roaming application data locatie. Echter, de applicatie schreef dit naar een totaal andere directory weg dan %appdata% naar toe verwees.
Na onderzoek bleek het mandatory profile de boosdoener. De schuld geheel aan mijn kant, want die had ik ingesteld. Het bleek dat ik vergeten had de keys in HKCU\Software\Microsoft\Windows\Current Version\Explorer\Shell Folders aan te passen. Hier stonden nog een aantal verwijzingen in naar de user die ik gebruik had om het mandatory profile mee op te bouwen. Na aanpassen daarvan met behulp van RES Workspace Manager werkt alles weer naar behoren.
Echter, zo makkelijk laat ik mij niet van de kaart brengen. Was dit eigenlijk wel mijn fout. Als je bij Windows 7 en Windows 2008 R2 deze registry tree opent staat bovenin namelijk de melding “Do not use this registry key”.
Dus ga je op zoek naar waarom Microsoft deze melding in de registry plaatst. Uiteindelijk kom je uit bij The Old New Thing en blijkt dat deze registrykey alleen aanwezig is om software van voor 1994 te laten draaien, die mogelijk van deze keys gebruik maakt. Waarom dit nog in Windows 2008 R2 zit is me een raadsel. De meeste applicaties van voor 1994 zijn 16-bits en draaien niet eens in Windows 2k8r2. Wat ik echter nog erger vind, is dat de software die in 2012 nog een update heeft gehad, nog steeds van deze registry keys gebruik maakt