Access

CTX-Blog

powered by Ecki's Place

May 4th, 2010

Homedrive wird beim Login nicht verbunden (Vista/Windows 7) Homedrive fails silently to mount at logon (Vista/Windows 7)

Nach dem Update auf Vista/Windows 7 wird das UserHome Verzeichnis beim Login nicht mehr verbunden. Alle anderen Drivemappings, welche über das Logonscript eingerichtet werden, funktionieren normal. Das passiert immer dann, wenn das UserHome über das AD Userobjekt und nicht über GPO gemappt wird. Es werden keine Fehler geloggt und auch sonst finden sich keinerlei Hinweise auf die Ursache des Problems 🙁

Das Abschalten der UAC hilft zwar, sollte aber nicht die Lösung sein, da damit wieder weitere Sicherheitslücken aufgerissen werden.

Nicht direkt ein Citrix Problem, aber sehr nervig, wenn man darüber stolpert. Da ich einige Zeit für die Problemlösung benötigt habe, dachte ich mir, dass hier ein kleiner Hinweis angebracht ist.

Folgender Registry Key erlaubt das Mappen des UserHome Shares wieder:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
“EnableLinkedConnections”=dword:00000001

Die Lösung habe ich übrigens hier gefunden.

Gruss
Ecki

After the update to Vista/Windows 7, mapping of the UserHome drive fails silently at logon. All other drive mappings made by a logon script are successful. This happens always if the UserHome is mapped through the AD user-object. UserHome mapping configured by GPO is not affected. There are no error messages logged and it is hard to find a reason for this behavior 🙁

Disabling UAC helps, but should not be the final solution, since it opens up many security holes.

Not really a Citrix problem but annoying if you happen to stumble upon it. Since it took me some time to find a solution, i thought it might be a good idea to post it here.

The following registry key allows again for a successful UserHome mapping:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
“EnableLinkedConnections”=dword:00000001

The original solution has been posted here.

Regards
Ecki

June 18th, 2008

IE Kiosk Mode IE kiosk mode

Ich musste gerade bei einem Kunden dafür sorgen, dass der Internet Explorer ohne Navigationsleisten und sonstige Benutzerschnittstellen startet, um eine browserbasierte Applikation zum SmartCard Rollout zu veröffentlichen. Die Suche nach einer Lösung gestaltete sich hierbei schwieriger als erwartet.

Der häufigste Ansatz, den Google bei einer entsprechenden Anfrage ausspuckte, war der eingebaute “Kiosk Mode” des Internet Explorers. Der Modus wird durch den Aufruf des IE mit dem Parameter -k aktiviert, s. http://support.microsoft.com/kb/154780. Dieser Modus versetzt den IE in den Vollbild Modus, blendet aber, im Gegensatz zum Tastendruck F11, die Symbolleisten komplett aus. Ein Beenden des IE ist dann nur noch über Alt. + F4 möglich und auch die sonstige Bedienung beschränkt sich ausschliesslich auf Tastenkürzel. Eine eher endkundenuntaugliche Variante 🙁

Der nächste Ansatz waren Microsoft Group Policies, aber auch hier gab es zu viele Einschränkungen und Probleme. So lassen sich die Symbolleisten des IE nicht komplett per Policy ausblenden, sondern nur einzelne Icons, was wiederum Anpassungen in der Registry unter HKCU notwendig gemacht hätte, um die Symbolleisten komplett zu entfernen. Hier gehen die ansonsten ausufernden IE Policies eindeutig nicht weit genug 🙁

Die Lösung kam in Form einen VBS Objekts. Der Internet Explorer lässt sich über VBS ansprechen und steuern. Dies gab mir die Möglichkeit, auch das Erscheinungsbild des Browsers soweit anzupassen, dass sämtliche Steuerelemente ausgeblendet werden können, ohne wichtige Funktionen zu beeinträchtigen. Mit dem folgenden Code lässt sich nun ein IE mit einer vordefinierten URL starten und ein Ausbruch aus dieser Umgebung ist deutlich erschwert 🙂

DIM IE
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate "http://das.ist.die.anzuzeigende.url"
IE.Visible=True
IE.Toolbar=no
IE.Menubar=no
IE.Statusbar=no
IE.Width=750
IE.Height=600
IE.Resizable=yes
'IE.Top=5
'IE.Left=5

Auf den Eintrag IE.Navigate folgt hierbei die aufzurufende URL, wobei die gesamte URL in Anführungszeichen gesetzt sein muss. Optionale Parameter sind die Fenstergrösse (IE.Width/IE.Height) und die Position des Fensters auf dem Desktop (IE.Top/IE.Left).

IE Kiosk Mode

Das Script funktioniert sowohl unter Windows XP als auch 2003 Server problemlos. Unter Vista und 2008 Server sind Administrator Rechte notwendig, um den gewünschten Effekt zu erzielen!

Gruss
Ecki

I recently had a customer that wanted Internet Explorer to be published as a locked down version without toolbars and userinterface. The goal was to publish a browser based application to allow for a smart card rollout and not allowing users to browse away from this site. The search for a solution was harder than expected.

The solution most frequently found with Google was the built in “kiosk mode” of Internet Explorer. This mode can be activated by appending the parameter -k to the IE shortcut. For more details see http://support.microsoft.com/kb/154780. In this mode the IE starts in full screen mode, but without the ability to access the navigation panes, toolbars and menus as it would be possible when switching to full screen view by pressing F11. To end such a session, the user is forced to use the Alt. + F4 hotkey and all navigation in IE has to be done through hotkeys too. Not the solution we wanted for standard users 🙁

The next approach were Microsoft Group policies, but they too had too many constraints and issues. One issue here was, that there is no way, to hide the standard toolbars through group policies. It would have been therefore inevitable to manipulate the HKCU branch of the users registry at logon. This is a subject, where the otherwise “overloaded” IE policies are not detailed enough 🙁

The solution came through a VBS object. Internet Explorer can be addresses and controlled through VBS. This gave me the possibility to adjust the user interface of the IE and to hide all toolbars, navigation panes and menues, without disabling basic functionality. The following code starts IE with a predefined URL and makes it much more difficult for users to break out of the predefined environment 🙂

DIM IE
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate "http://this.is.the.url.to.be.shown"
IE.Visible=True
IE.Toolbar=no
IE.Menubar=no
IE.Statusbar=no
IE.Width=750
IE.Height=600
IE.Resizable=yes
'IE.Top=5
'IE.Left=5

The entry IE.Navigate stands for the target URL. Take care that the whole URL is surrounded by double quotes. Optional parameters are for the windows size (IE.Width/IE.Height) and the windows position on the users desktop (IE.Top/IE.Left).

IE kiosk mode

This script works perfect under Windows XP and 2003 Server. With Vista and 2008 Server administrative privileges are required!

Regards
Ecki

July 17th, 2007

LANMANServer und LANMANWorkstation Tuning LANMANServer and LANMANWorkstation Tuning

Bei Brian Madden bin ich auf ein sehr interessantes Dokument zum Thema Terminal Server Tuning gestossen. In diesem Artikel werden sämtliche relevanten LANMANServer und LANMANWorkstation Parameter und Registry Keys vorgestellt und erkärt, die in diesem Zusammenhang von Bedeutung sind.

Anschliessend werden mögliche Optimierungsmassnamen und deren Risiken besprochen und sogar ein ADM Template zur Verfügung gestellt, mit dem sich die besprochenen Optimierungen via GPO umsetzen lassen.

Der vollständige Artikel kann hier nachgelesen werden.

Gruss
Ecki

I recently stumbled across this realy good article about terminal server tuning. This article introduces and explains all the relevant LANMANServer and LANMANWorkstation parameters and registry keys.

Following that, the article discusses the potential optimizing actions and their risks and provides even an ADM template that allows to tune your environment through GPOs.

The complete article can be found here.

Regards
Ecki

March 28th, 2007

Outlook Express aus dem Starmenü verbannen Remove Outlook Express from the start menu

Wer schon ein Mal einen Desktop gepublished hat, kennt sich dieses Phänomen. Ein User meldet sich zum ersten Mal am Terminal Server an und obwohl weder im Default User, noch im All Users Profil ein Outlook Express Icon vorhanden ist, erscheint es im Startmenü des Users.

Wo kommt es her? Und noch viel wichtiger, wie bekomme ich es weg?

Das Icon manuell aus jedem Userprofil zu löschen kann keine Lösung sein, daher ist die Suche nach dem “Woher” der bessere Weg. Die Lösung findet sich, wie so oft, in der Registry

Unter dem Key:

HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{44BBA840-CC51-11CF-AAFA-00AA00B6015C}\

findet sich ein REG_SZ Eintrag mit dem Namen “StubPath“. Wenn dieser Eintrag gelöscht wird, erzeugt der Terminal Server keine neuen Outlook Express Icons mehr bei der Useranmeldung. Bestehende Icons werden dadurch jedoch nicht mehr entfernt.

Ein Beitrag aus der DCUG beschreibt das blosse Umbenennen des Eintrags in “HideStubPath“, welches den gleichen Effekt erzielt und sich leichter rückgängig machen lässt.

Gruss
Ecki

If you have ever published a terminal server desktop, you have seen this happening almost for sure. Even if there is no Outlook Express icon in the All Users or Default Users folder, the icon appears in the start menu after a user logs on for the first time.

Why is this happening? And much more interesting, how can you avoid this?

To delete the icon from every users profile is not a viable option. So it’s best to look for the root cause of this problem. As often, the solution can be found in the registry.

Below the key:

HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{44BBA840-CC51-11CF-AAFA-00AA00B6015C}\

you can find a REG_SZ entry with the name “StubPath“. If you delete this entry, the terminal server will never again create this icon at user logon. Existing icons however will not be deleted.

A post in the DCUG describes a similar procedure but simply renames the entry to “HideStubPath“. The effect is the same, but it is much easier to revert back.

Regards
Ecki

March 14th, 2007

Registry Scan (Watermark) mit CAG 4.5.x Advanced Registry Scan (Watermark) for CAG 4.5.x Advanced

Wer das Citrix Access Gateway (CAG) mit Advanced Access Control (AAC) schon eine Weile kennt, speziell die Version 4.2, kennt sicher auch den “Citrix Watermark” End Point Analysis Scan (EPA Scan). Eine Möglichkeit, über einen Registry Key die Zugehörigkeit zu einer bestimmten Sicherheitsgruppe zu definieren. Im Gegensatz zu MAC oder Domain Filtern war dieser Scan eine einfache Möglichkeit, schnell den Sicherheitskontext zu wechseln, um z. B. bei Produktdemonstrationen unterschiedliche Zugriffsszenarien vorführen zu können.

Das Update auf die AAC Version 4.2.5, bzw. auf die Version 4.5 brachte hier massive Änderungen im Bereich EPA Scans mit sich. Als einschneidendste Änderung kann die Verpflichtung zum Signieren aller EPA Scans gelten. Neu sind alle EPA Scans von Citrix bereits signiert. Selbst erstellt EPA Scans funktionieren nun ebenfalls nur noch, wenn sie signiert und damit als vertrauenswürdig gekennzeichnet sind. Diesen Aufwand und die damit verbundenen Kosten scheuen viele Kunden. Für Citrix Partner, die nur eine Demo Site aufbauen wollen, lohnt sich der Aufwand in der Regel ebenfalls nicht. Wer daher kein Geld in Custom Scans z. B. von EPAFactory stecken wollte, musste sich zwangsläufig mit den mitgelieferten EPA Scans arrangieren:-(

Hier möchte ich daher einen Weg aufzeigen, wie mit den vorhandenen Möglichkeiten trotzdem ein funktionierender Registry Scan zu erstellen ist. Die meisten EPA Scans machen tatsächlich nichts anderes, als in der Registry des Clients an vorkonfigurierten Stellen vorhandene Werte auszulesen. Daher kann prinzipiell fast jeder EPA Scan als Registry Scan verwendet werden. Als Beispiel verwende ich hier den mitgelieferten “Citrix Scans for Windows Update”. Dieser Scan liest auf dem Clientrechner rekursiv alle Keys unterhalb von:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\

aus und liefert die darin gefundenen KB-Nummern zurück. Zu beachten ist hier, dass Keys direkt unter dem o. g. Key NICHT zurückgeliefert werden. Man sollte sich daher einen vorhandenen Unterordner auswählen um den Key dort zu erstellen. Mit diesem Wissen lässt sich nun recht einfach ein Registry Scan erstellen. Wem diese Kurzanleitung nicht genügt, findet hier eine detaillierte Beschreibung mit Screenshots.

Gruss
Ecki

Most people who know Citrix Access Gateway (CAG) with Advanced Access Control (AAC) for a while, especially version 4.2, know the “Citrix Watermark” End Point Analysis Scan (EPA Scan). A possibility to configure the security group membership of a PC withe a simple registry key. In contrast to MAC or Domain filters, this scan made it very easy to change the security context of a PC, very handy for product demonstrations, where you want to visualize different access scenarios.

The update to AAC version 4.2.5, eg. version 4.5 introduced a massive change for EPA Scans. Since then, every EPA Scan has to be signed, which renders the unsigned “Watermark” scan worthless. Every EPA Scan delivered with AAC 4.5 is now already signed by Citrix and if you try to create your own EPA Scans, you have to sign them too and build your own specific EPA Scan MSI package. Lots of customers try to avoid this effort and the costs associated with signing certificates. For Citrix partners, trying to build just a demo site, the effort and the costs are too high as well. If you do not intend to spend money on Custom Scans for example from EPAFactory, you are stuck with the scans provided by Citrix:-(

I will therefore show a way, how you can accomplish a working registry scan with the means provided by a standard setup of AAC. Most EPA Scans do in fact nothing else than reading predefined keys in the registry of the client PC. Therefore almost any EPA Scan can be used as registry scan. As an example i will use the “Citrix Scans for Windows Update” shipped with AAC. This scan reads on a client PC recursively all keys beneath:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\

and reports back the KB-numbers found. It must be pointed out, that keys directly below the “Updates”-key are NOT delivered back to the AAC server. You should therefore use an existing key like “SP2” to create your own KB-number key. Knowing that, it is fairly simple to create your own registry scan. A detailed description with screen shots of this process can be found here (german only).

Regards
Ecki

|