New WIndows Update Client Patch KB3050265 June 2015 Can save you from valuable memory issues on Client Computers & Servers

18 06 2015

This patch solves a very big issue where a scan for updates causes svchost.exe with wuauserv service take a lot of machine memory in the form of private working set,

Without this patch I observed on a windows 7 client the memory usage of svchost go from 250 (megs) to 1.3 (gigs) and when it’s done scanning the memory wasn’t freed in it’s entirety.

If you calculate the frequency of scans for updates and the amount of servers / workstation / VMs all together you will find that this patch can save a whole lot of precious resources.

Check it out here:


Quicky: Chrome Enterprise and Flash on XenApp 6.5

10 03 2015

I had to install NPAPI (flash plugin for Mozilla) and disable the built in PPAPI used in chrome via the chrome launch command line parameters in the published application configuration.

*also disabled GPU acceleration as we saw chrome crashes with it under XenApp 6.5 sessions.

Monitor-Backlog and take actions with custom conditions

3 04 2014

Hi Again,
I needed a quick way to place a folder where files from clients in my environment are being constantly sent and imported elsewhere under closer watch for backlogging and performance troubleshooting, the responsiveness of a business process was reliant on how fast the files from the clients gets processed,
I wanted the following abilities:
– it had to be temporary as I just wanted to get a rough idea on the times of day I get bottlenecks if any
– I didn’t want to interrupt / burden the server with too frequent queries
– I wanted to do something that I can use later / recycle in some form for other uses
– I had to get an idea visually of how bad things are meaning i needed couple of condition (severities)
Read the rest of this entry »

Powershell Script and web query – Lenovo Think Model Name (ex. 20AMxxx) to Family (ex. X240)

13 02 2014

Tiny bit of background info about this Lenovo challenge:
Model is the long number reported to the OS (ex. 2324) and Family is the product / family / generation name (ex. X230) which really what I work with in my workplace, i needed to have a an easy way of querying Lenovo website to get the Family based on the Type / Model.


Read the rest of this entry »

Check Services, Ping, Specific port for a group of servers, configurable by CSV, new version with menu

30 07 2013
I updated the file and have added functionality:
– NEW: A menu pop and asks which farm to check (Sets of servers), automatically populates from farms in CSV, menu includes option to check all farms*, now it’s easier to keep one CSV file for all your farms / sets of servers.
*add a farm “All” and keep that line empty in csv.
– NEW: UNC check (with new CSV role “UNC”)
– NEW: DNS Check (very basic without overloading)
– NEW: Check services by name and IP
– NEW: The script has been made compatible to Powershell 2.0
– FIX: The script can be run from right click “run with powershell”

Check Services, Ping, Specific port for a group of servers, configurable by CSV and scalable and all with powershell

26 06 2013
Hi, there are some checks that are needed on a regular basis and doing them often requires me a tedious routine of remoting to each server just to view that a service is running, so I whipped up the following script to check the basic availability of a group of Servers, Where for each server the script can check services, telnet to specific ports and can be expanded to test additional items (by role for example),
I applied it to a XenApp environment and so I have the edgesight, Data Controllers, XML brokers, PVS provisioning servers, SQL, Web Interface, Appsense, NLB Virtual IPs etc., i didn’t need to test the actual XenApp worker servers, but i could just add lines to the CSV and have them tested.
And you could easily adjust it to a farm of web application servers just by editing the CSV file.
The script is configurable with a CSV file that holds parameters for the process.
Functions from: Jason Poyner
From his excellent script to check entire XenApp 6.5 architecture Read the rest of this entry »

Properly Streaming a Java or JNLP Application (Java client / Deployment settings in enterprise environment) – part 3

26 06 2013

After a long hiatus from this blog and being busy busy busy in other projects it’s time to complete this guide,
Part 1: JNLP Applets and Application streaming
Part 2:

Beginning from the a certain JRE version options became available for the JNLP cache to be either in USER or SYSTEM context,
This provides a huge advantage for us administrators to deliver an application on a System context on machines, such as XenApp Servers, Multi-User workstations and of course streamed environment.
Please note: I will refer to Citrix Application Streaming version but the principles apply to other virtualization technologies.

Let’s get on with it, what we want to do is instead of having the user go in to the application and have the JNLP cached to the user context we will want to either set rules for the caching in the JRE or pre-cache it for them on a SYSTEM context and have it available for all users on that machine.

We can do that by using the following JRE tools:

deployment.config – this file when placed in a certain location can pre-determine the configuration of the JRE environment
Location: C:\Windows\Sun\Java\Deployment
deployment.system.config.mandatory=True – this file when placed in a certain location can pre-determine the cache folder location
Location: C:\Windows\Sun\Java\Deployment
#Wed Aug 15 22:05:15 IDT 2012
deployment.browser.path=C\:\\Program Files (x86)\\Internet Explorer\\iexplore.exe
#Java Deployment jre's
#Wed Aug 15 22:05:15 IDT 2012
deployment.javaws.jre.0.path=C\:\\Program Files (x86)\\Java\\jre7\\bin\\javaw.exe
deployment.javaws.jre.1.path=C\:\\Program Files (x86)\\Java\\jre6\\bin\\javaw.exe

in the code above i have 2 versions of JRE installed and it is found in every user’s profile.
all i did was copy the file and appending it with these 2 parameters:


Then I create the folder C:\Java_System_cache

The next steps are:
running javaws.exe which is the client for JNLP applets the way i want depending on what i need, if i need to profile an application for streaming i will do:
javaws -import -system <url to jnlp>
javaws -import -system -silent <url to jnlp>
both the above cache the jnlp to system cache i pre-configured earlier
i can then do javaws -system <url to jnlp> as the command line for the streamed application to launch the app from the cache,
there’s also -offline switch which might be handy in some situations.

When i profile the applet i will perform installation of the JRE i need so everything will be recorded, create and specify the java folders, properties files and config files, import the applet and save that for later virtualization.

if i wanted to do it on a workstation / XenApp without virtualizing i would just place the config / property files, configure the java cache locations, import the JNLP and set the published application command line to be in the lines of:

javaws -system <url to jnlp>

and that’s that!

wait, wait, wait, in the last part i mentioned it’s handy for upgrades of applets, yeah it is, if the vendor requires me to clear the cache i can do it for the SYSTEM cache using the parameters like:
javaws -uninstall <url to jnlp>
javaws -clearcache (to completely clear the cache)

Voila! hope this helps all you administrators out there who want to keep IT clean with those Java based applications.

RE : Software Assurance Pays Off Remote Connection to WinPE during MDT SCCM deployments

25 10 2012

I was trying to use “unattend.xml” to enable remote control using DART 7 Remote Connection tool during WinPE
as demonstrated here:

The “unattend.xml” is residing in the root of the boot.wim – X:\Unattend.xml
The first time the machine boots in to WinPE from PXE it uses this Unattend.xml and everything works great.

However, if a step to restart the computer to the boot image assigned for the task sequence which is the same boot.wim then after the restart the original “Unattend.xml” will not be used, instead a different xml called “winpeunattend.xml” which is located at “C:\_SMSTaskSequence\WinPE\WinPEUnattend.xml”
And that XML is being created “on the fly” or in runtime, when the TS is “Staging boot.wim”
and the SMSTS.log will log: “Creating WinPE Answer File” and “Successfully saved … C:\_SMSTaskSequence\WinPE\WinPEUnattend.xml”

The task sequence is from SCCM 2007 R3 with SP2 and the Advertisement is Mandatory and configured as “Access content directly from Distribution Point”.

I finally decided to go around the problem as even in Microsoft Communities I couldn’t get this answered answered

Read the rest of this entry »

Properly Streaming a Java or JNLP Application (Java client settings in enterprise environment) – part 2

16 08 2012

In a previous post i mentioned JNLP Applets and Application streaming,

Before I dive in to the step by step part of making streamed applications work better when they involve web start applets (JNLP) I first want to provide you with better understanding on how JNLP works because I feel that what I did with Citrix application can be applied to other environments that don’t necessarily feature application streaming like enterprise centralized access for JNLP applications, I also provide some best practice for the beginners and to those looking to consolidate or move those applet to SBC environment or even to just manage them.

Read the rest of this entry »

Quickly locate what went wrong in CCMSETUP when troubleshooting SCCM Client installation issues

6 08 2012

When CCMSETUP is run it usually creates a folder with logs and source files under these locations:

32bit OS:


64bit OS:


the folder contains the following main logs:

ccmsetup.log – this log focuses on CCMSETUP install operations

client.msi.log – this log contains post CCMSETUP install operations

KB(number).log – this log contains info on required BITS patch operations

I use trace32 (i think i developed OCD for trace32) to view the logs (SCCM2007), notice that in SCCM2012 the trace utility changed to CCMTRACE.

when ever i have a problem with installing the client that i need to troubleshoot i lookup in client.msi.log for this string:

“Value 3”

this will find the check operation that didn’t validate thus failing the install operation,

if i don’t find it i continue to go through the log.