Friday, October 31, 2008

VNC versus Citrix ICA

This pretty much sums up ICA's advantage over RDP(Microsofts Protocol) and RFB(VNC). ICA is fast at any speed. VNC and RDP are good at moderate to high speed. VNC with the tight encoding is showing very good improvements at the low bandwidth end of things, so VNC could be considered to be good at all speeds. Try running a web browser or using Photoshop/Gimp over a VNC and an ICA connection, and you will like VNC better. Here is the technical difference. Both ICA and RFB use the DRI(Direct Rendering Interface) or X11(Unix X server protocol) calls coming from the windowing environment while VNC is a "screen scrapper" and uses the actual graphic output to the screen. So if the windowing env. outputs something like "show the letter 'A'", ICA and RDP send a command to the remote client telling it to show the letter 'A' using font Times. VNC actually lets the letter 'A' get written to your a video buffer once the letter is drawn, VNC scans the letter and transmits the results. The only difference between RDP and ICA is that ICA has been optimized in many ways for low bandwidth connections. If you were running a program over RDP on a 9600 baud modem and the program was showing a video clip, RDP would diligently send each and every frame over one frame at a time. ICA, as well as VNC, would show a frame every so often depending on how big the video was. This is true because ICA and VNC adjust for slow connections. RDP might take 5 hours to play a one minute video clip while ICA and VNC will only take on minute, but may only show 2 frames. This is a worst case example, but the feedback from the client that ICA and VNC use makes a big difference in the speed of the product. The big speed difference between VNC and ICA is latency. Latency is the amount of time it takes for the client to send a command to the server and receive a response. ICA uses many techniques to improve latency over high latency connections. When you click the letter 'A' on the keyboard when running an ICA client, here is what happens: 1) ICA client draws and 'A' on you screen. 2) ICA client sends the letter 'A' to the server 3) If more letters are pressed before the response from the server returns, the client keeps drawing letters locally and queuing the key strokes in the send buffer. 4) When the sever responds with the result of the first key press, the client draws the result. The server sends all addition key presses to the server and starts back over at #3. So if you are typing and email that is 2000 characters long, the client may only talk to the server 500 times instead of 2000 like VNC would. When you move your mouse around the ICA clients window, on a slow connection, you mouse coordinates are sent to the server only every so often. With VNC, if you move your mouse from the left of the screen to the right the coordinates are sent as many times as is possible given the current bandwidth. Tight VNC has actually modified this behavior in their beta version. Anyway, sorry for the long post, but someone should really write this up nice(unlike mine) and put it in the FAQ. Very interesting stuff.

Desktops in the data center: Thin is in

For companies considering thin-client desktops the range of choices has increased quite a bit in the last few years.

From presentation servers like Citrix to desktop blades, companies can now choose how thin to make their desktops.

One interesting approach I wrote about in a previous article is to use virtual machines in blade servers and the Remote Desktop Protocol (RDP) to deliver thin desktops from the data center. Using this approach you can commingle desktop and server images on the same pool of blade servers, alternating loads based on demand. You get to make the most of the existing servers, increase flexibility and simplify your recovery process since both desktops and servers can be recovered to the same machines in another data center.

One of the caveats of such an approach, at least until recently, was that RDP over the WAN has its own limitations. It is not necessarily the best option for delivery of real-time media such as IPTV and VoIP. Real-time media streams can suffer from jitter and latency-induced quality problems, especially if there are no QoS mechanisms in the network. Thus, when running streaming video in an RDP session you may experience slow frame rates and severe choppiness, for example.

At VMWorld 2008 I saw demos of an interesting workaround for this problem. At least one vendor of thin terminals, Wyse, was demonstrating a thin client with built-in SIP capabilities alongside the RDP. Essentially, the hardware client and the virtual desktop/server on the other end of the WAN use RDP for the keyboard, mouse and screen, and use Session Initiation Protocol (SIP) and Real-Time Protocol (RTP) for the voice or video stream.

By multiplexing the two protocols over IP and controlling the QoS, the thin client was able to stream video and audio without difficulty (at least in a demo setup). Extracting the video and audio and using RTP inside SIP to pass it to the client independently allows the client to prioritize the voice and video packets and control jitter and latency (what SIP/RTP does best).

This also introduces another intriguing possibility: If you look at SIP as a general-purpose SIP, it could conceivably be extended to carry RDP as an additional media stream within. Then, instead of using a proprietary approach to run SIP and RDP in parallel, the desktop session could be delivered with SIP alone carrying voice, video and interactive desktop (RTP and RDP) within a single session.

Clearly, thin desktop technology and operating system virtualization together are generating all kinds of innovation. While most enterprises will use thin desktops for specific applications and use cases (such as contact centers and single-application stations) rather than for all desktops in general, the thin desktop is getting more versatile and flexible.

Remotely Managing Remote Desktop

Some of my coworkers have an annoying habit of remoting into our Win2k servers and never logging out. They also like to do this in pairs, which means nobody else can remote into the machines due to Microsoft's default two-user administrative mode Terminal Services limit. Yeah, I could rclient in, or use remote MMC snap-ins, but sometimes it's just faster to manipulate the GUI via Remote Desktop.

There's a tool to remotely manage remote desktop connections in Win2k, but I couldn't find any equivalent in XP. A little searching turned up Microsoft's Windows Server 2003 Administration Tools Pack which provides server management tools that allow administrators to remotely manage Windows 2000 Servers & Windows Server 2003 family servers. And indeed it does! The kit installs the following tools, which appear under the Start, Programs, Administrative Tools menu:

Active Directory Domains and Trusts
Active Directory Management
Active Directory Sites and Services
Active Directory Users and Computers
Authorization Manager
Cluster Administrator
Connection Manager Administration Kit
DHCP
Distributed File System
DNS
IP Address Management
Network Load Balancing Manager
Public Key Management
Remote Desktops
Remote Storage
Telephony
Terminal Server Licensing
Terminal Services Manager
UDDI Services
WINS
All this for the low, low price of nothing. The only part I care about is the Terminal Services Manager, which lets me terminate idle remote desktop sessions from target servers. Take that coworkers!

You could disconnect them from a command prompt with tsdiscon:
tsdiscon 1 /server:fabrikam

Or reset their session with rwinsta:
rwinsta 1 /server:fabrikam

If you wanted to be picky/choosy about Who you disconnect/reset, you can view session info with qwinsta:
qwinsta /server:fabrikam

A couple other command line tools are tsshutdn (shutdown/reboot machine) and tskill (kill process).

in cmd do:
quser /server:

logoff /server:

query session /server:servername

find the inactive user and then:

logoff usernumber /server:servername


Windows 2000+ (includes Windows XP and 2003) have two command-line tools called qwinsta and rwinsta that can query and reset a remote session.

For example, let's say that I can't gain access to a server using Terminal Services because both sessions are used up. I can use another server to check the status of the first one. As long as the logged in user has administrative rights on the non-accessible machine I would run this:

qwinsta /server:12.12.12.12

Where 12.12.12.12 is the IP address or name of the non-accessible machine.

This will display something like this:

> qwinsta /server:12.12.12.12
SESSIONNAME USERNAME ID STATE TYPE DEVICE
console 0 Conn wdcon
rdp-tcp 65536 Listen rdpwd
rdp-tcp#470 Bob 1 Active rdpwd
rdp-tcp#471 Jane 3 Active rdpwd

Now I know that Bob and Jane are the two that are logged in. Since Jane left the office 20 minutes ago I know that she forgot to log off. I don't know where Bob is but I only need one session so I'll ignore him for now.

To disconnect Jane's session I would type this:

rwinsta /server:12.12.12.12 3

Notice the 3 which is the session ID I found from using qwinsta above.

Yet another option with W2K3 is a new feature that lets you connect to the desktop directly and gain a 3rd session.

If you're like me, you probably noticed that rwinsta and qwinsta seems like strange names. This came from the Citrix Metaframe days which Terminal Services has descended from. It stands for:

qwinsta = Query WINdows STAtion
rwinsta = Reset WINdows STAtion

One final comment. Microsoft has replaced these two tools with Query but since qwinsta and rwinsta is fully compatible with W2K WinXP and W2K3 I choose to use it instead.


Note: In Windows Server 2003, you can right-click on the root in Terminal Services Manager and Connect to another server. Also, if you are in an Active Directory domain and using Windows 2000 Server, you can Connect to All Servers and access remote servers from the GUI. But, in a Windows 2000 Server not connected to a domain.


RDP File Settings

RDP File Settings

The new Terminal Services client (version 2600 and newer, 5.1.2600.x) introduces quite a few new capabilities. A major client-side convenience is that connection settings can be saved in an RDP file which can then be easily edited, copied, and distributed.

Unfortunately, the parameters are not nearly as well documented as the ActiveX control parameters yet; this will presumably change before the .NET server release.

In the interim, I've put together a summary of information I have about the parameters contained in the files.

Which Terminal Services/Remote Desktop Client?

The newest ones, versions 5.1.2600.x and up. The client can be downloaded from the Remote Desktop Connection page - and despite the header, it is the client to use for connecting to either Terminal Services or XP Remote Desktop.

You can install it on any true 32-bit Windows OS except Windows XP and .NET - they already come with their own version.

Making an RDP File

You can create an RDP connection file using a text editor; there is nothing special about its structure to prevent this; in fact, the Terminal Services people appear to have been assiduous about making it simple and easy to use; the order in which parameters are placed doesn't even matter.

The simplest way to do it initially, though, is to run the mstsc client, configure basic settings you want, then choose "Save As..." on the General tab. You can then open the resulting file in Notepad and work with it.

RDP File Structure

The file structure is relatively simple. The standard file consists of several lines; each has parameter name, type, and value, separated by a ":". Any colons after the second one appear to be ignored (necessary so that file paths can be embedded). MSTSC also appears to silently ignore anything it cannot parse, so you can insert freeform comments into the file.

For example, here are two lines which tell MSTSC to establish a 1024x768 desktop when it connects:

desktopheight:i:768
desktopwidth:i:1024

The first element in each line is the parameter name. Immediately following it, after the first colon, is the parameter type; as far as I can tell, there are only 3 types of values -

  • i (integer) This is used for numeric values such as the desktop resolutions above. All of the "on-off" values are integers; this may be to allow future expansion of value types, since some - such as audio redirection and keyboard hooking - actually have multiple values.
  • s (string) Almost everything which is not a pure integer. This includes paths and server names
  • b (binary) apparently only used for hashed password storage
  • RDP File Parameters

    Below is a table listing all of the parameters I have encountered so far. I list the parameter name, type, an example value, and then include notes on usage where possible.

    Parameter Value Notes
    alternate shell s c:\winnt\system32\notepad.exe Sets the shell to be used within the Terminal Services session. This can be used to set an alternate shell such as progman.exe; you can also use it to set the application which the user runs on logon to the Terminal Server.
    audiomode i 2 Known values:
    0 - Bring to this computer
    1 - Leave at remote computer
    2 - Do not play
    auto connect i 0 0 or 1
    autoreconnection enabled i 1 Set to 1 to connect automatically when file is opened.
    bitmapcachepersistenable i 1 ? 1 maintains bitmap cache between sessions
    compression i 1 ? 1 means use extra compressions
    connect to console i 1 0 - connect to a virtual session
    1 - connect to the console session
    desktopheight i 768 height of session desktop in pixels
    desktopwidth i width of session desktop in pixels
    disable cursor setting i 0 ?
    disable full window drag i 1 set to 1, disables display of window contents while dragging in session
    disable menu anims i 1 set to 1, disables menu animations in session
    disable themes i 1 set to 1, disables use of themes in session
    disable wallpaper i 1 set to 1, disables display of wallpaper in session
    displayconnectionbar i 1 Set to 1, displays the connection bar in a fullscreen session
    domain s HQ domain name to use for logon
    full address s 192.168.1.1:33389 IP address/name of server (and optional alternate port)
    keyboardhook i 2 For applying standard Windows key combinations
    0 - On the local computer
    1 - On the remote computer
    2 - In fullscreen mode only
    maximizeshell i 0 set to 1, maximizes any alternate shell used in the session
    password 51 b (big long binary hash) Ifyou choose to save the connection password, this will be a large binary hash value
    port i 3389
    redirectcomports i 1 set to 1, redirects client COM ports in session (XP/.NET only)
    redirectdrives i 1 set to 1, redirects client drives in session (XP/.NET only)
    redirectprinters i 1 set to 1, redirects client printers in session
    redirectsmartcards i 1 set to 1, redirects client smart cards in session (XP/.NET only)
    screen mode id i 1 FullScreen vs. normal
    0 - ?
    1 - windowed
    2 - fullscreen
    server port i 3389 You can specify the port separately from the "full address" parameter. Thanks to James from acmewidgets.com for finding this out!
    session bpp i 16 bit depth for session - 8, 16, or 24. Only 8 is valid for Windows 2000 Terminal Servers
    shell working directory s c:\program files\microsoft office Working directory if an alternate shell was specified.
    smart sizing i Scale the client window display of desktop when resizing
    0 or not present - Do not scale
    1 - Scale (Takes extra resources to scale)
    username s administrator name of user logging on
    winposstr s 0,1,0,249,808,876 ? Not sure about the details on this one. There are always 6 comma-separated values. I would guess that these are presets for position and "window mode" sizes - maximized versus sized.


    An Example RDP File

    This is an example RDP connection file. It starts maximized for its desktop size (800x600); color depth is 16-bit; it will attempt to automatically start connecting to 192.168.1.12 on launch; and so on...

    screen mode id:i:1 desktopwidth:i:800 desktopheight:i:600 session bpp:i:16 auto connect:i:1 full address:s:192.168.1.12 compression:i:1 keyboardhook:i:2 audiomode:i:2 redirectdrives:i:0 redirectprinters:i:0 redirectcomports:i:0 redirectsmartcards:i:0 displayconnectionbar:i:1 username:s:Administrator domain:s:AKA alternate shell:s: shell working directory:s: disable wallpaper:i:1 disable full window drag:i:1 disable menu anims:i:1 disable themes:i:1 bitmapcachepersistenable:i:1  

    Sunday, October 26, 2008

    DSShutdown

    DShutdown is a stand-alone program that allows you to easily shutdown and wake up local or remote PCs, with many specific options.


    DShutdown supports more than just standard shutdown options, there are options relating to "pure" shutdown (such as the "force after wait" option which causes a forced, but 'clear' shutdown). There are monitoring options that allow you to shutdown a PC after a particular application terminates (useful at the end of compressing several files). There are also options to shutdown a PC when Internet traffic reduces below a particular data-rate (useful to shutdown a PC when it has finished a large download).

    It is also possible to intercept a shutdown request, initiated by the user or an application, and to then execute the shutdown request with selected options from DShutdown. (For example: to simultaneously shut down all Lan PCs when the server shuts down).

    DShutdown doesn't force a power-off without logging off and saving settings. DShutdown instead provides a means to log-off, shutdown and safely power-off your PC. Administrators who use roaming profiles will appreciate the benefits of this feature.

    Download http://dimio.altervista.org/stats/download.php?id=2

    Flash Website Storage Settings panel

    Website Storage Settings panel

    Table of Contents

    Note: The Settings Manager that you see above is not an image; it is the actual Settings Manager. Click the tabs to see different panels, and click the options in the panels to change your Adobe Flash Player settings.

    The list of websites above is stored on your computer only so that you can view or change your privacy settings or local storage settings. Adobe has no access to this list, or to any of the information that the websites may have stored on your computer.

    Use this panel to specify storage settings for any or all of the websites that have requested permission to use your camera or microphone or to store information on your computer.

    The list of Visited Websites displays the following information for each website:

    • The name of the website
    • The amount of disk space the website has used to store information on your computer
    • The maximum amount of disk space the website can use before requesting additional space
    • The privacy setting you have specified for the website

    In this panel, you can change storage settings for a website or delete the website so that, if you visit it again, it will use your global settings instead of any individual settings you may have set. You can also delete all sites, which erases any information that may have already been stored on your computer.

    Note: To specify the amount of disk space that websites you haven't yet visited can use to store information on your computer, or to prevent websites you haven't yet visited from storing information on your computer, use the Global Storage Settings panel.

    Change storage settings

    To specify storage settings for a website, select the website in the Visited Websites list, and then change its storage settings as desired. The following list explains the storage options:

    • If you don't want to let applications from this website save any information on your computer, and you don't want to be asked again, select Never Ask Again.
    • If you want to let applications from this website save information on your computer, but you want to decide on a case-by-case basis for each application, move the slider to the far left. Each time an application wants to save information on your computer, you will see a question asking for more disk space.
    • If you want to let applications from this website save as much information on your computer as they need to, move the slider to the far right.
    • If you want to let applications from this website save information on your computer, but want to limit the amount of disk space they can use, move the slider to select 10 KB, 100 KB, 1 MB, or 10 MB. If an application needs more space than you have allotted, you will see a question asking for more disk space while the application is running.

    Note: If an application from the selected website has already saved some information on your computer and you select a value that is lower than the amount of information already stored, Flash Player informs you that any information that has already been saved will be deleted.

    Delete website

    If you select a website and then click Delete Website, the website is removed from your list of visited websites. Any information the website may have stored on your computer is erased. (You will have the opportunity to confirm or cancel your selection.)

    If you visit a website again after you have deleted it, the amount of disk space the website can use to store information on your computer is set to the amount specified in the Global Storage Settings panel. Also, if the website tries to access your camera or microphone and you haven't used the Always Deny option in the Global Privacy Settings panel, you will be asked whether to allow or deny such access.

    Delete all sites

    If you click Delete All Sites, all websites are removed from your list of visited websites. Any information a website may have stored on your computer is erased. (You will have the opportunity to confirm or cancel your selection.)

    If you visit a website again after you have deleted it, the amount of disk space the website can use to store information on your computer is set to the amount specified in the Global Storage Settings panel. Also, if the website tries to access your camera or microphone and you haven't used the Always Deny option in the Global Privacy Settings panel, you will be asked whether to allow or deny such access.

    Friday, October 24, 2008

    The Next Evolution in Virtual Desktop Computing

    Stoneware's webOS is a desktop virtualization solution that understands the important role of web technologies in enterprise computing. Stoneware's webOS goes beyond delivering just another virtualized Windows desktop, webOS is designed to integrate the rapidly growing number of web, Windows, and hosted (Software as a Service) applications that are being deployed in the enterprise each day (see diagram). For those who are not yet familiar with the growing webOS market, Stoneware's webOS is a virtual web desktop available anytime, from anywhere. It is a simple, less bloated, remotely accessible operating environment that runs in a browser and is independent of the underlying operating system. It delivers a rich desktop-like experience, coupled with access to all of an organization's business applications and services.

    Not to be confused with a published desktop from a Microsoft Terminal Server, Citrix Presentation Server, or a virtual desktop from VMWare, webOS is completely built from web technology and based on AJAX. It is designed to give an organization's remote and mobile workforce access to a virtual web desktop whether they are in the office, working from home, out on the road, or in an offsite location. Because webOS is built on web technologies, a single server can scale to over a thousand users, requiring only an Internet browser (IE, Firefox, Opera, or Safari).

    Combined with webNetwork technology, Stoneware's webOS is the most powerful webOS in the market today. Stoneware's webOS delivers all webNetwork services to the webOS desktop thus providing organizations with complete integration of their network applications, files, documents, databases, desktops, and directory services. webOS is ready today for any organization that finds themselves delivering a mix of Windows, web, and hosted (SaaS) applications to a increasing mobile workforce.

    Every day more and more enterprises are purchasing and developing web applications to run their business. Web applications are light, easy to manage, and require no client-side software. The question that you should be asking is - "why isn't your desktop operating environment the same?"

    http://www.stonewarewebos.com/webos/products/webOS.html

    webOS Technical Features
    • Desktop operating environment is virtualized in a web browser
    • Built on AJAX technology, supports Microsoft's IE, Firefox, Opera, and Apple's Safari browser
    • Scales over a thousand users per a single server
    • Leveraging webNetwork technology, all your organization's web, Windows, and hosted applications can be accessed through the unique webOS interfaces
    • Perfect for thin client, labs, remote offices, hosted (SaaS) services, or mobile workforces
    • Requires only a browser and an Internet connection
    • Supports desktop icons, system tray, windowing, desktop customization


    enable remote desktop on a windows xp machine - remotely

    My first idea was to use remote desktop to access the computers from my machine. That worked fine, since I have local administrator access on each machine… but I’d have to interrupt each user’s work, log them off, make my firewall adjustments, then tell them it’s okay to log on now… assuming that I could even get into their machines remotely.

    I needed a solution for users with remote desktop disabled. If your remote user has administrator access to their machine, have them click on Start - Run and type:

    netsh firewall set service remoteadmin enable

    netsh firewall set service remotedesktop enable

    [note: remoteadmin = remote administration, while remotedesktop = remote assistance and remote desktop]

    You can also enable remote desktop over the network via regedit if you have administrator rights to the remote machine:

    1. Run Regedit
    2. Select File –> Connect Network registry
    3. Enter the name of the remote computer and select Check Name
    4. At the bottom of the registry tree you will see 2 Hives appear Hkey_Local_Machine and
      Hkey_Users (under the remote computer’s name)
    5. Goto hklm\system\currentcontrolset\control\terminal server\FdenyTSConnections=1
    6. Change the FdenyTSConnections to 0
    7. Attempt to Re-Login

    This worked okay, but I like to implement the most elegant solution possible.

    So I fired up the command line on my local machine, and used psexec to configure the firewall service on the remote machine via netsh. The users never even knew I was working on their computer, which is fine by me.

    To enable remote access to a machine via the command line, type:

    psexec \\remotecomputername netsh firewall set service remoteadmin enable

    psexec \\remotecomputername netsh firewall set service remotedesktop enable

    Howto: extract files from a .msi file using the Windows command line

    Every once in a while I need to extract the content of a .msi file in order to customize a deployment for a particular network environment. Sometimes initializing the .msi installer will temporarily extract the files into C:\Documents and Settings\\Local Settings\Temp, but those files are removed once the installer exits.

    To extract files from a .msi file at the command line, type:

    msiexec /a PathToMSIFile /qb TARGETDIR=DirectoryToExtractTo

    For example, to extract files from f:\zenworks\zfdagent.msi into c:\zfd701 you would type:

    msiexec /a f:\zenworks\zfdagent.msi /qb TARGETDIR=c:\zfd701

    The destination directory does not need to exist prior to running this command.

    Logon Scripts : Are they dead in the water?

    For many years Windows logon scripts were a common method of customising the user profile in the enterprise. Their usefulness has been slowly eroded with the introduction of new features and changes to best practices. With the introduction of Group Policy Preferences, they could finally be dead in the water.

    Drive and printer mappings are probably the most common function of the logon script. However, the introduction of Microsoft Distributed File System combined with Access Based Enumeration has meant that some organisations have reduced their user drive mappings to just two - a personal “Home” drive root share and a shared department root share. Printer Location Tracking allows users to find and map their own network printers, removing custom logic from the logon script and providing better support for travelling users and hot-desk workers.

    The integration of Group Policy Preferences (GPP) into the Microsoft toolset further nails the coffin on logon scripts, providing a managed method of setting drive mappings, shortcuts and environment variables amongst others.

    Even if you haven’t managed to consolidate your drive mappings, GPP has an option called item-level targeting that allows a single GPO to cope with multiple variations. This feature extends the usual scope of management filtering beyond the entire GPO, to the individual settings within it - or at least the GPP settings within it. The targeting can be based on a whole range of criteria (see later), but for the purpose of drive mappings, security group membership filtering is probably the most useful.

    A single GPO could contain all the drive to share mappings in the organisation and an item-level filter on each mapping would mean that only members of the associated security group would actually get each mapping. This is very similar to the method often used in logon scripts, but without the scripting overhead.

    So can we get rid of logon scripts completely? Probably not.

    In an enterprise Windows environment, there are lots of ad-hoc scripts and programs that need to be called and a logon script is a useful option. Applications may need folders created in the user’s home drive, mailbox migrations may need a mail profile “switch” utility to run, laptops may need to client-side cache re-pointed to a new UNC path when a home drive is moved.

    The monolithic logon scripts of the past do seem to be dead though. A lightweight script, often with no user interface is all that is needed in the modern environment.

    GPP Item-level targeting options:

    Item-level targeting

    I

    Free Utility to Determine Which of Your Windows Applications Require Administrative Rights to Run

    BeyondTrust Application Rights Auditor is a free product that automatically identifies and reports the Windows applications that require users to have administrative rights.

    Once those applications are identified, enterprises can develop informed plans to remove users’ administrative rights without any application downtime, creating a more secure and compliant environment, and lowering the cost of administering Windows computers.

    Free registration is required in order to obtain a download link. They also have a data collection policy that can be opted out of.

    Supported client operating systems are Windows 2000 SP4, Windows XP SP2, Windows Server 2003 SP1 and SP2, Windows Vista Gold and SP1, and Windows 2008. Both x86 and x64 versions are included in the download.

    The reporting management console runs on Windows XP SP2, Windows Server 2003 SP1, Windows Vista, and Windows 2008. The reporting console is an MMC snap-in that requires MMC 3.0 and Microsoft .NET Framework 3.0 SP1. Both are available to download from the BeyondTrust Application Rights Auditor download page.

    Download http://www.beyondtrust.com/products/FreeProducts.aspx

    Taking Your Server's Pulse

    Imagine you just arrived at the office on a Monday morning and you’re greeted by an eager user who is complaining that his server is running too slow. How do you even begin to help him? Performance
    Monitor, a handy tool built into Windows®, can assist you in diagnosing the problem.
    You can access Performance Monitor by typing perfmon at the command prompt or by selecting the Performance or Reliability and Performance Monitor (in Windows Vista® and Windows Server® 2008) from the Administrative Tools menu. To add performance counters and objects to be monitored, you simply click the plus sign and select from a host of possible choices.
    So how do you measure the pulse of a server? There are more than 60 basic performance objects, and each object contains multiple counters. In this article, I will discuss the counters that reveal the vital signs of a server, and I will describe the typical sampling intervals that Microsoft® Service Support engineers use most often to troubleshoot performance-related issues.
    Of course, a baseline provides a critical reference point when troubleshooting. Since the server load depends on the business requirements and also varies from time to time depending on the business cycle, it is important to establish a baseline determined by the normal workload over a specified period of time. That allows you to observe changes and identify trends.

    Making the Results More Readable
    Before I dive into an analysis of the counters that represent the vital signs of servers, I'll tell you about two tricks that will make it easier for you to measure the vital signs of servers using Performance Monitor. Note that these tricks are not needed in Windows Vista and Windows Server 2008, but if you are running Performance Monitor on earlier versions of Windows, these two tweaks can come in very handy.
    First, you can remove all the distracting sample noise that obscures the graphical view of trend lines. In Windows Vista and Windows Server 2008, Performance Monitor can display up to 1000 data points in graphical view. In previous versions of Windows, the limit is only 100 data points. When there are more than 100 points, Performance Monitor "buckets" the data points. A bucket is represented by a vertical line, indicating the minimum, average, and maximum of the sample points included in the bucket.
    As you can tell by looking at the graph in Figure 1, it is difficult to spot the trend line when so much data is displayed at the same time. The Figure 2 graph shows how much easier it is to grasp the data quickly when all the extraneous visual information has been turned off. For details on how you can turn off these vertical lines, see the Knowledge Base article that is available at support.microsoft.com/kb/283110.
    Figure 1 Performance data shown with distracting buckets and no commas (Click the image for a larger view)
    Figure 2 A cleaner view of data with comma separators (Click the image for a larger view)
    The second trick is to add comma separators in the numbers, making it much easier to read the values shown in the counters. Windows Vista and Windows Server 2008 have comma separators enabled by default. In previous versions of Windows, however, Performance Monitor does not enable commas by default.
    This may not sound like it would make a huge difference, but take a look at Figure 1, which shows the performance counters without commas, and then look at Figure 2, which shows the counters with commas. I find the latter much more readable. For some simple instructions on adding comma separators to your performance counters in Windows XP, take a look at the Knowledge Base article at support.microsoft.com/kb/300884.

    What and When to Measure
    Bottlenecks occur when a resource reaches its capacity, causing the performance of the entire system to slow down. Bottlenecks are typically caused by insufficient or misconfigured resources, malfunctioning components, and incorrect requests for resources by a program.
    There are five major resource areas that can cause bottlenecks and affect server performance: physical disk, memory, process, CPU, and network. If any of these resources are overutilized, your server or application can become noticeably slow or can even crash. I will go through each of these five areas, giving guidance on the counters you should be using and offering suggested thresholds to measure the pulse of your servers.
    Since the sampling interval has a significant impact on the size of the log file and the server load, you should set the sample interval based on the average elapsed time for the issue to occur so you can establish a baseline before the issue occurs again. This will allow you to spot any trend leading to the issue.
    Fifteen minutes will provide a good window for establishing a baseline during normal operations. Set the sample interval to 15 seconds if the average elapsed time for the issue to occur is about four hours. If the time for the issue to occur is eight hours or more, set the sampling interval to no less than five minutes; otherwise, you will end up with a very large log file, making it more difficult to analyze the data.

    Hard Disk Bottleneck
    Since the disk system stores and handles programs and data on the server, a bottleneck affecting disk usage and speed will have a big impact on the server's overall performance.
    Please note that if the disk objects have not been enabled on your server, you need to use the command-line tool Diskperf to enable them. Also, note that % Disk Time can exceed 100 percent and, therefore, I prefer to use % Idle Time, Avg. Disk sec/Read, and Avg. Disk sec/write to give me a more accurate picture of how busy the hard disk is. You can find more on % Disk Time in the Knowledge Base article available at support.microsoft.com/kb/310067.
    Following are the counters the Microsoft Service Support engineers rely on for disk monitoring.
    LogicalDisk\% Free Space This measures the percentage of free space on the selected logical disk drive. Take note if this falls below 15 percent, as you risk running out of free space for the OS to store critical files. One obvious solution here is to add more disk space.
    PhysicalDisk\% Idle Time This measures the percentage of time the disk was idle during the sample interval. If this counter falls below 20 percent, the disk system is saturated. You may consider replacing the current disk system with a faster disk system.
    PhysicalDisk\Avg. Disk Sec/Read This measures the average time, in seconds, to read data from the disk. If the number is larger than 25 milliseconds (ms), that means the disk system is experiencing latency when reading from the disk. For mission-critical servers hosting SQL Server® and Exchange Server, the acceptable threshold is much lower, approximately 10 ms. The most logical solution here is to replace the current disk system with a faster disk system.
    PhysicalDisk\Avg. Disk Sec/Write This measures the average time, in seconds, it takes to write data to the disk. If the number is larger than 25 ms, the disk system experiences latency when writing to the disk. For mission-critical servers hosting SQL Server and Exchange Server, the acceptable threshold is much lower, approximately 10 ms. The likely solution here is to replace the disk system with a faster disk system.
    PhysicalDisk\Avg. Disk Queue Length This indicates how many I/O operations are waiting for the hard drive to become available. If the value here is larger than the two times the number of spindles, that means the disk itself may be the bottleneck.
    Memory\Cache Bytes This indicates the amount of memory being used for the file system cache. There may be a disk bottleneck if this value is greater than 300MB.

    Memory Bottleneck
    A memory shortage is typically due to insufficient RAM, a memory leak, or a memory switch placed inside the boot.ini. Before I get into memory counters, I should discuss the /3GB switch.
    More memory reduces disk I/O activity and, in turn, improves application performance. The /3GB switch was introduced in Windows NT® as a way to provide more memory for the user-mode programs.
    Windows uses a virtual address space of 4GB (independent of how much physical RAM the system has). By default, the lower 2GB are reserved for user-mode programs and the upper 2GB are reserved for kernel-mode programs. With the /3GB switch, 3GB are given to user-mode processes. This, of course, comes at the expense of the kernel memory, which will have only 1GB of virtual address space. This can cause problems because Pool Non-Paged Bytes, Pool Paged Bytes, Free System Page Tables Entries, and desktop heap are all squeezed together within this 1GB space. Therefore, the /3GB switch should only be used after thorough testing has been done in your environment.
    This is a consideration if you suspect you are experiencing a memory-related bottleneck. If the /3GB switch is not the cause of the problems, you can use these counters for diagnosing a potential memory bottleneck.
    Memory\% Committed Bytes in Use This measures the ratio of Committed Bytes to the Commit Limit—in other words, the amount of virtual memory in use. This indicates insufficient memory if the number is greater than 80 percent. The obvious solution for this is to add more memory.
    Memory\Available Mbytes This measures the amount of physical memory, in megabytes, available for running processes. If this value is less than 5 percent of the total physical RAM, that means there is insufficient memory, and that can increase paging activity. To resolve this problem, you should simply add more memory.
    Memory\Free System Page Table Entries This indicates the number of page table entries not currently in use by the system. If the number is less than 5,000, there may well be a memory leak.
    Memory\Pool Non-Paged Bytes This measures the size, in bytes, of the non-paged pool. This is an area of system memory for objects that cannot be written to disk but instead must remain in physical memory as long as they are allocated. There is a possible memory leak if the value is greater than 175MB (or 100MB with the /3GB switch). A typical Event ID 2019 is recorded in the system event log.
    Memory\Pool Paged Bytes This measures the size, in bytes, of the paged pool. This is an area of system memory used for objects that can be written to disk when they are not being used. There may be a memory leak if this value is greater than 250MB (or 170MB with the /3GB switch). A typical Event ID 2020 is recorded in the system event log.
    Memory\Pages per Second This measures the rate at which pages are read from or written to disk to resolve hard page faults. If the value is greater than 1,000, as a result of excessive paging, there may be a memory leak.

    Processor Bottleneck
    An overwhelmed processor can be due to the processor itself not offering enough power or it can be due to an inefficient application. You must double-check whether the processor spends a lot of time in paging as a result of insufficient physical memory. When investigating a potential processor bottleneck, the Microsoft Service Support engineers use the following counters.
    Processor\% Processor Time This measures the percentage of elapsed time the processor spends executing a non-idle thread. If the percentage is greater than 85 percent, the processor is overwhelmed and the server may require a faster processor.
    Processor\% User Time This measures the percentage of elapsed time the processor spends in user mode. If this value is high, the server is busy with the application. One possible solution here is to optimize the application that is using up the processor resources.
    Processor\% Interrupt Time This measures the time the processor spends receiving and servicing hardware interruptions during specific sample intervals. This counter indicates a possible hardware issue if the value is greater than 15 percent.
    System\Processor Queue Length This indicates the number of threads in the processor queue. The server doesn't have enough processor power if the value is more than two times the number of CPUs for an extended period of time.

    Network Bottleneck
    A network bottleneck, of course, affects the server's ability to send and receive data across the network. It can be an issue with the network card on the server, or perhaps the network is saturated and needs to be segmented. You can use the following counters to diagnosis potential network bottlenecks.
    Network Interface\Bytes Total/Sec This measures the rate at which bytes are sent and received over each network adapter, including framing characters. The network is saturated if you discover that more than 70 percent of the interface is consumed. For a 100-Mbps NIC, the interface consumed is 8.7MB/sec (100Mbps = 100000kbps = 12.5MB/sec* 70 percent). In a situation like this, you may want to add a faster network card or segment the network.
    Network Interface\Output Queue Length This measures the length of the output packet queue, in packets. There is network saturation if the value is more than 2. You can address this problem by adding a faster network card or segmenting the network.

    Process Bottleneck
    Server performance will be significantly affected if you have a misbehaving process or non-optimized processes. Thread and handle leaks will eventually bring down a server, and excessive processor usage will bring a server to a crawl. The following counters are indispensable when diagnosing process-related bottlenecks.
    Process\Handle Count This measures the total number of handles that are currently open by a process. This counter indicates a possible handle leak if the number is greater than 10,000.
    Process\Thread Count This measures the number of threads currently active in a process. There may be a thread leak if this number is more than 500 between the minimum and maximum number of threads.
    Process\Private Bytes This indicates the amount of memory that this process has allocated that cannot be shared with other processes. If the value is greater than 250 between the minimum and maximum number of threads, there may be a memory leak.

    Wrapping Up
    Now you know what counters the Service Support engineers at Microsoft use to diagnose various bottlenecks. Of course, you will most likely come up with your own set of favorite counters tailored to suit your specific needs. You may want to save time by not having to add all your favorite counters manually each time you need to monitor your servers. Fortunately, there is an option in the Performance Monitor that allows you to save all your counters in a template for later use.
    You may still be wondering whether you should run Performance Monitor locally or remotely. And exactly what will the performance hit be when running Performance Monitor locally? This all depends on your specific environment. The performance hit on the server is almost negligible if you set intervals to at least five minutes.
    You may want to run Performance Monitor locally if you know there is a performance issue on the server, since Performance Monitor may not be able to capture data from a remote machine when it is running out of resources on the server. Running it remotely from a central machine is really best suited to situations when you want to monitor or baseline multiple servers

    Tuesday, October 21, 2008

    Gadwin (Free Print Screen)

    What is Gadwin PrintScreen?

    Want to create a screenshot suitable for saving or printing? Then just hit a key on your keyboard. Oh yeah, you'll have to download this program first.

    There are several hotkey combos to choose from (PrintScreen is the default). Once you've chosen your favorite combo, head to the Destination tab and have the screen print out instantly, copy the capture to the clipboard, save it to a specific folder, or even send it through e-mail. You can perform full screen captures, or only capture a specific window.


    There are also six different image formats to choose from, and each one can be resized. With all the customization capabilities, what more could you ask for?

    Gadwin PrintScreen Professional combines the power of a first-class screen capture application with an advanced image editing and annotation utility - wrapped into one easy-to-use tool. Gadwin PrintScreen Professional is versatile and extremely easy-to-use.


    Who needs Gadwin PrintScreen?

    Screen captures can be used for many reasons. Use captured images from Gadwin PrintScreen to show off your product on the web. Enhance technical or sales documents and embed captures into presentations. Gadwin PrintScreen can help you capture and print or save computer screen data.

    Why Gadwin PrintScreen?

    On most Windows computers a full screen of data can be put on the clipboard by pressing the PrintScreen key. This sends whatever you see on screen to the clipboard, which you must then edit in a different graphics program to cut to the right size and image format. Here are some other reasons not to use the prefabricated PrintScreen function of Windows:

    Full screen of data can be put only on the clipboard.

    It is either difficult or impossible to capture some elements of a Windows screen, such as different shaped cursors.

    You spend too much time making image captures


    Download http://www.gadwin.com/download/ps_setup.exe

    CamStudio (ScreenCast)

    CamStudio is able to record all screen and audio activity on your computer and create industry-standard AVI video files and using its built-in SWF Producer can turn those AVIs into lean, mean, bandwidth-friendly Streaming Flash videos (SWFs)

    Here are just a few ways you can use this software:

    • You can use it to create demonstration videos for any software program
    • Or how about creating a set of videos answering your most frequently asked questions?
    • You can create video tutorials for school or college class
    • You can use it to record a recurring problem with your computer so you can show technical support people
    • You can use it to create video-based information products you can sell
    • You can even use it to record new tricks and techniques you discover on your favourite software program, before you forget them
    http://camstudio.org/

    version 2.0
    http://www.camstudio.org/CamStudio20.exe

    TipCam (ScreenCast)

    Record and share your screen in a video. Get started in just 3 easy steps...

    Download

    Download TipCam:

    • record videos of your screen
    • share videos immediately (no post-processing)
    • it's easy to use and FREE
    Record

    Record videos to:

    • help friends use their computer
    • train your employees
    • help people use your website
    Share

    Sign up for an account and get:

    • unlimited public video sharing
    • 250MB private video sharing
    • upload directly from TipCam

    Screen 2 Exe (Free Screen Cast)

    Screen 2 Exe

    his screen recorder creates instant screen demos, tutorials and presentations with the highest compression ratio in the world. With SCREEN2EXE or SCREEN2SWF, the 1M bytes FREE (or free to try) screen recorder, you can:

    • Record
      • Record onscreen changes
      • Record mouse movement and clicking.
      • Record speech from microphone.
      • High speed. Capture up to 30 frames per seconds with 'Max' mode!
        [Sample shows how fast it is ]
    • Edit
      • Add text, image and annotation into your recorded video.
      • Add zoom in, focus, fade in/out effects.
      • Add delay or cut clips.
    • Export
      • EXE self-play file
      • Flash movie (SWF file) and AVI file. *(SCREEN2SWF)
      • Best quality and Scalable settings
        The program allows you to set quality from lossless true color mode to lossy grayscale mode, which helps to get best trade-off between quality and file-size. [Quality Sample]
    • The world's smallest movie files for fast sharing.
      Based on advanced, special designed SSCV2 codec, it may have the highest compression ratio in the world compared to other screen recorders. A smaller file is very important when you want to share your demo via the Internet. If you find another screen recorder that does better than us in compression, on the same contents and quality, please contact us.
      [Compare to other screen recorders]

    Beside the above, it is fast and efficient, occupy less system resources. And the most importantly, SCREEN2EXE is Free!

    Download http://www.screen-record.com/dl/SCREXESetup.exe

    Elluminate (Free vRoom for Training and Meeting)

    Free 3 users vRoom web meeting

    http://www.elluminate.com/vroom/index.jsp

    WHAT YOU GET...
    Enjoy real-time collaboration with up to three participants using interactive features such as:
    • Two-way audio
    • Interactive whiteboard
    • Direct messaging
    • Application sharing
    • File transfer
    • Synchronized web tour
    • Live webcam
    • Breakout rooms
    ... And much more!
    WHAT YOU CAN DO...
    • Meet one-on-one
    • Meet online with up to three people
    • Work in small teams
    • Hold virtual office hours
    • Collaborate on a global level
    • Add more seats for larger sessions
    WHAT YOU NEED...
    • 20 MB free disk space
    • Sound card with speakers & microphone (or headset)
    • Minimum 28.8 kbps Internet connection

    Dimdim

    Dimdim is a free web conferencing service where you can share your desktop, show slides, collaborate, chat, talk and broadcast via webcam with absolutely no download required for attendees.


    Flexible.

    The Dimdim Web Meeting service is available in open source and commercial enterprise editions capable of supporting thousands of attendees. And unlike all other web meeting solutions, Dimdim is available in both onsite (you install it on your servers) and hosted (we install it on ours) configurations.

    http://dimdim.com/products/what_is_dimdim.html

    Webhuddle (Free Web Meeting)


    With the high cost of travel and shrinking budgets, most organizations today are already meeting virtually, or are considering it. But not all web conferencing solutions are created equal. We’d like to introduce you to an alternative way to communicate -- one that makes it easy to meet with the people you need to, when you need to -- all it takes is a web-enabled PC and something to say. You can try WebHuddle right now or see a demo.

    Designed for ease of use, WebHuddle overcomes many of the common challenges faced by other virtual meeting applications on the market -- such as high-price to entry, compromised network security, large client downloads, and unreliability -- resulting in a frustrated IT department and less than satisfactory business results.


    Improve your meetings today

    Let WebHuddle host your meeting for you -- create an account and try it right now. WebHuddle is:

    • Cross-Platform: Use any Java-enabled computer (Linux, Windows, Unix, Mac) Learn more

    • Simple: No installation needed -- client runs in web browser Learn more

    • Small: Thin client (about 125 KB) -- loads quickly Learn more

    • Secure: All data encrypted by HTTPS protocol Learn more

    • Open Source: Leverage the many benefits of open source software, including value, transparency, and flexibility. If you find WebHuddle useful you may download it and freely install it on your own network.

    Using WebHuddle, you have options -- and flexibility. Meetings can be conducted either in conjunction with an enterprise’s existing teleconferencing service, or utilizing WebHuddle’s optional voice over IP. WebHuddle also offers recording capabilities -- presentations can easily be recorded for playback over any web browser for those who missed the live meeting.

    SoftPerfect Network Scanner

    SoftPerfect Network Scanner is a free multi-threaded IP, NetBIOS and SNMP scanner with a modern interface and several advanced features. It is intended for both system administrators and general users who are interested in computer security. The program pings computers, scans for listening TCP ports and displays which types of resources are shared on the network (including system and hidden).

    In addition, it allows you to mount shared folders as network drives, browse them using Windows Explorer, filter the results list and more. SoftPerfect Network Scanner can also check for a user-defined port and report back if one is open. It can also resolve host names and auto-detect your local and external IP range. It supports remote shutdown and Wake-On-LAN.

    Key features

    • Pings computers.
    • Does not require administrative privileges.
    • Detects hardware (MAC) addresses even across routers.
    • Detects hidden shared folders (normally invisible on the network) and write accessible shares.
    • Detects your internal and external IP addresses.
    • Scans for listening TCP ports and SNMP services.
    • Retrieves currently logged-on users.
    • You can mount and explore network resources.
    • Can launch external third party applications.
    • Exports results to HTML, XML, CSV and TXT
    • Supports Wake-On-LAN and remote shutdown.
    • It is absolutely free, requires no installation, and does not contain any adware/spyware/malware.

    Download http://www.softperfect.com/download/freeware/netscan.exe


    Screenshots

    The network scanner main window with some scan results.




    NetWorx – Free Bandwidth Monitoring and Usage Reporting

    NetWorx is a simple and free, yet powerful tool that helps you objectively evaluate your bandwidth situation. You can use it to collect bandwidth usage data and measure the speed of your Internet or any other network connection. NetWorx can help you identify possible sources of network problems, ensure that you do not exceed the bandwidth limits specified by your ISP, or track down suspicious network activity characteristic of Trojan horses and hacker attacks.

    The program allows you to monitor all your network connections or a specific network connection (such as Ethernet or PPP) only. The software also features a system of highly customizable visual and sound alerts. You can set it up to alert you when the network connection is down or when some suspicious activity, such as unusually heavy data flow, occurs. It can also automatically disconnect all dialup connections and shut down the system.The incoming and outgoing traffic is represented on a line chart and logged to a file, so that you can always view statistics about your daily, weekly and monthly bandwidth usage and dialup duration. The reports can be exported to a variety of formats, such as HTML, MS Word and Excel, for further analysis.


    Key Features

    • Clear graphic and/or numeric display.
    • Usage reports with export to a variety of file formats, including Excel, MS Word and HTML.
    • Permits close supervision of uploads and downloads.
    • Works with dial-up, ISDN, cable modems, ADSL, Ethernet cards, and more.
    • Includes network information & testing tools with advanced netstat that displays applications using your Internet connection.
    • Scalable to your own modem download capabilities.
    • Option to notify user or disconnect from the Internet automatically when network activity exceeds a certain level.
    • Speed meter to accurately time downloads and report the average transfer rates.
    • Absolutely free and does not contain any adware/spyware/malware.

    With NetWorx You Can ...

    • Find out and monitor how fast your Internet connection is.
    • Find out and monitor how much Internet traffic you consume.
    • Verify whether your ISP charges your Internet usage fairly.
    • Detect a suspicious network activity on your computer.
    • Perform simple network tests such as ping and trace route.
    • Be notified about excessive Internet usage.
    Download http://www.softperfect.com/download/freeware/networx_setup.exe

    Screenshots

    Right-click the NetWorx system tray icon (as shown on the picture) to bring up the program's menu. This menu lets you control the utility. Left-clicking the system tray icon displays the current NetWorx state (Windows 2000 and above only). NetWorx can also display the real time traffic data.

    As well as accumulated daily, weekly and monthly totals, and lets you export that information to a number of formats.

    NetWorx is highly customizable and includes networking tools such as ping, trace route and netstat.