Remko Weijnen's Blog (Remko's Blog)

About Virtualization, VDI, SBC, Application Compatibility and anything else I feel like


4,491 views

A few days ago I needed to test a few things on a Windows XP Workstation running under a regular user account.

I wanted to verify if some files and registry keys existed but Group Policies were in place that denied me access to the command prompt and regedit.

While this may be a good thought to secure the pc it is not very convenient if you need to verify some settings.

For that purpose I created patched versions of the Windows Server 2003 command prompt and regedit utilities.

They are patched to ignore the Group Policy settings and I usually place them in some share, secured by NTFS permissions.

You can read about it in my post: Registry editing has been disabled by your administrator (not anymore!).

However due to kernel differences you cannot use the Windows 2003 cmd.exe on Windows XP (you can do it the other way round btw). So I decided to create a patched version of the XP version as well.

I thought it might be interesting to show you how it’s done so here we go:

Read the rest of this entry »

  • 1 Comment
  • Filed under: Windows XP
  • 5,821 views

    I had a very interesting issue today on a new Citrix XenApp 5 farm. We went into production yesterday and we noticed a number of issues:

    • Printing in general was slow, especially when a user connects to a printer for the first time.
    • User Profiles were rapidly growing in size (from the expected 1-2 MB to over 40 MB).
    • Logons took much longer then in the testing period (and since we use a Full Screen Desktop the user doesn’t see any progress).
    • Performance monitoring showed CPU spikes in Word, Excel and IE processes.

    I took a look at the profiles first and noticed that the size growth was due to a Xerox subfolder in %APPDATA%:
    Read the rest of this entry »

    3,882 views

    In my project the monitoring group required that SNMP was installed and configured on all servers.

    I wrote scripts for Windows 2003 and Windows 2008 that I deploy from my Altiris Server.

    This is the script for Windows 2003:

    3,681 views

    After a restart of the Altiris Services or the Altiris Server some machines refuse to reconnect.

    They are shown in the Computers Tree with the Inactive state icon:

    image

    The fastest way to resolve this is to restart the “Altiris Deployment Agent” service.

    I wrote a little commandline tool to make this easy for myself, it’s called AClientFix.

    If you don’t specify any parameters it will restart the services on the local machine. If you specify a Computername as parameter it will restart the services of a remote machine (admin rights needed of course).

    image

    AClientFix (2577 downloads)
  • 0 Comments
  • Filed under: Altiris
  • 7,524 views

    I needed to relocate the WSUS content folder because it was placed on the C Drive (even though there was a 2nd 150 GB Data Partition) to prevent WSUS from filling up the OS Drive.

    Unfortunately there doesn’t seem to be a GUI option to do that, all Google searches lead to a GUI option for Small Business Server.

    The WSUSUtil tool can do it however, which is located in %ProgramFiles%\Update Services\Tools by default.

    You need to create the targetfolder and then issue:

    The tool will copy, and not move, the files to the new location and update the WSUS settings.

    So don’t forget to manually delete the old folder!

    The current storage location can be found or verified in the registry. It is stored in the ContentDir value in the HKLM\SOFTWARE\Microsoft\Update Services\Server\Setup key.

    See also Verifying WSUS Server Settings (although in incorrectly states the ContentDir value as Content).

  • 2 Comments
  • Filed under: General
  • 8,081 views

    For my Reboot Script I needed to get the last character of the computername and convert it to an integer.

    We can do it like this in PowerShell:

    4,956 views

    I wanted to create a Scheduled Task on my Citrix Servers to have the reboot every other night.

    The idea is that half of the servers will reboot in a night and the other half the following night.

    The TSSHUTDN tool is handy since it can issue a warning to logged on users, log them out after a certain period and finally issue the reboot.

    Since I needed to add a scheduled task to many servers I wanted to do this with a script.

    WMI Exposes the Win32_ScheduledJob Class and it’s Create Method.

    Read the rest of this entry »

    4,628 views

    In every project I do I will have to migrate data at some point. This usually involves three types of data:

    • Home Directory Data
    • Workgroup Data (eg office documents)
    • Application Data (not database but flat file data belonging to applications such as templates and documents).

    Home Directory Data is usually a flat copy although I tend to filter out the garbage (temp files and such).

    Workgroup data usually needs to be cleaned up so it involves some kind of data mapping (folder x goes to place y).

    Application Data is usually a flat copy from old to new location but often there are things like ini files that are adjusted and we don’t want to overwrite that.

    Read the rest of this entry »

  • 0 Comments
  • Filed under: General
  • 15,563 views

    As you may know, Fast User Switching (FUS) is not available (disabled) on Windows XP computers joined to a domain, Microsoft confirms this in kb280758.

    However, Microsoft doesn’t tell us there’s an undocumented registry value that allows us to have FUS when joined to a domain!

    To enable FUS you need to set the DWORD registry value HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\ForceFriendlyUI.

    It can also be set by Group Policy at HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System.

    When the value is set to 1, and LogonType key is also set to 1, it allows you to use a Friendly UI on a computer joined in a domain:
    Read the rest of this entry »

    4,886 views

    If you want to obtain a user’s token in a Terminal Server or Citrix session (eg to launch a process in a session) you can call the WTSQueryUserToken function.

    On the x64 versions of Windows XP and Server 2003 this function fails however and returns ERROR_INSUFFICIENT_BUFFER (“The data area passed to a system call is too small.”) when called from a 32 bit process.

    Internally WTSQueryUserToken calls the undocumented function WinstationQueryInformationW with the WinStationUserToken class (14) and passing a WINSTATIONUSERTOKEN struct, filled with caller ProcessId and ThreadId.

    But on x64 Windows the size of this structure is 24 bytes, while on 32 bit Windows the size of the structure is 12 bytes!

    Read the rest of this entry »

    Donate


    Blogroll


    Categories


    Archives