HOWTO: Setup folder permissions for anonymous user

In Windows Server 2003 thing are tighten up. When you want anonymous users to gain access to a shared folder, without being prompted for credentials, you must change the following group-policy settings:


Worked for me!


SCRIPT: Share and unshare printers automatically

Share local printers:

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where Network = FALSE")

i = 1

For Each objPrinter in colInstalledPrinters
objPrinter.Shared = TRUE
objPrinter.ShareName = objPrinter.Name
i = i + 1

Unshare local printers:

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where Network = FALSE")

i = 1

For Each objPrinter in colInstalledPrinters
objPrinter.Shared = FALSE
objPrinter.ShareName = objPrinter.Name
i = i + 1

SCRIPT: Exclude files and directories read from a single file using Robocopy

Use this script and 2 textfiles which can be used to exclude files and folders.

EXCLUDEDIRS = "C:\robocopy\excludedirs.txt"
EXCLUDEFILES = "C:\robocopy\excludefiles.txt"
ROBOCOPYLOCATION = "C:\robocopy\robocopy.exe"
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(EXCLUDEDIRS, FOR_READING)
strDirExclude = objFile.ReadAll
Set objFile = objFSO.OpenTextFile(EXCLUDEFILES, FOR_READING)
strFileExclude = objFile.ReadAll
arrDirExclude = Split(strDirExclude, vbCrLf)
arrFileExclude = Split(strFileExclude, vbCrLf)
For Each dir In arrDirExclude
dirs = dirs + " /xd " + chr(34) + dir + chr(34)
For Each bestand In arrFileExclude
bestanden = bestanden + " /xf " + chr(34) + bestand + chr(34)
mycommand = ROBOCOPYLOCATION & chr(32) & SOURCELOCATION & chr(32) & TARGETLOCATION & " /COPYALL /S /mir /R:5 /W:10 /IPG:10 /TBD /ETA /LOG+:C:\ictivity\robo.log /TEE " & dirs & bestanden

y:\Program Files

y:\Application Partitions.vsd


SCRIPT: Delete network printer

Use this script to delete a network printer:

Option Explicit
Dim objNetwork, strUNCPrinter
strUNCPrinter = "\\server\mprinter"

Set objNetwork = CreateObject("WScript.Network")
objNetwork.RemovePrinterConnection strUNCPrinter



SCRIPT: Install Networkprinter and make it default

Use this VB script to install a network printer and make it default:

Set objNetwork = CreateObject("WScript.Network")
objNetwork.AddWindowsPrinterConnection "\\server\printer"

Dim objPrinter
Set objPrinter = CreateObject("WScript.Network")
objPrinter.SetDefaultPrinter "\\server\printer"


SCRIPT: Remove Installed Windows Updates

With the following script you can easily remove files and uninstall information of Windows Updates on your computer.
This script can by example run on a local computer as a scheduled task. This will assure that old update-leftovers are deleted.

This is the script:

Option Explicit
Dim o, oShell, nConfirm
Set o = WScript.Application
o.Interactive = True
Set oShell = CreateObject("WScript.Shell")

Dim oFSO, sWinDir, oFolder, oDictionary, oSubFolder, sFolderName, sFolderPath, sUpdateName, sDeleted
Set oFSO = CreateObject("Scripting.FileSystemObject")
sWinDir = oFSO.GetSpecialFolder(0)
sDeleted = vbNullString
Set oFolder = oFSO.GetFolder(sWinDir)
Set oDictionary = CreateObject("Scripting.Dictionary")
For Each oSubFolder In oFolder.SubFolders
sFolderName = LCase(oSubFolder.Name)
sFolderPath = LCase(oSubFolder.Path)
'change days here
If (DateDiff("D", oSubFolder.DateCreated, Date()) > 90) And Left(sFolderName, 12) = "$ntuninstall" And Mid(sFolderName, 13, 2) = "kb" Or Mid(sFolderName, 13, 2) = "q" Then
sUpdateName = Mid(sFolderName, 13, Len(sFolderName) - 13)
oDictionary.Add sUpdateName, sFolderPath
End If

For Each sUpdateName in oDictionary.Keys
sDeleted = sDeleted & vbCrLF & sUpdateName
sFolderPath = oDictionary.Item(sUpdateName)
On Error Resume Next
oShell.RegDelete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & sUpdateName & "\"
On Error Goto 0
oShell.Run "%ComSpec% /C RD /S /Q " & Chr(34) & sFolderPath & Chr(34), 0, True
' Uncomment the following if you want a visual comfirmation what has been deleted
'If Len(sDeleted) > 0 Then
' MsgBox "The uninstall data for the following updates are now removed:" & vbCrLf & UCase(sDeleted), vbOKOnly + vbInformation, "Files Removed"
' sDeleted = vbNullString
' MsgBox "No Windows Update Folders found for removal", vbOKOnly + vbInformation, "Nothing To Do"
'End If
o.Quit 0


HOW TO: Disable Sophos auto update at startup

When workstations startup and have the Sophos Anti Virus solution installed, the bootup is delayed because Sophos wants to update the anti-virus definitions. This is a most secure solution, but not preferred.
After a little bit of searching, i discovered a nice setting which delays the Auto-Update at startup.
I created a ADM for your convenience.

Use this ADM:



KEYNAME "SYSTEM\CurrentControlSet\Services\Sophos AutoUpdate Service"
POLICY !!ImagePath
DEFAULT "C:\Program Files\Sophos\AutoUpdate\ALsvc.exe -NoStartupCheck"

SOPHOS="Sophos AutoUpdate"
ImagePath="Sophos AutoUpdate ImagePath"
SophosImagePath="Sophos Image Path"

Works like a charm..


HOW TO: Enable autologon in Windows 7 & Windows Server 2008

To enable Autologon in Windows 7 & Windows Server 2008,
Click Start, search for “control userpasswords2″ and press enter.

Select the user from the list and uncheck “User must enter a user name and password to enter this computer
” and click Apply and OK.
That’s it! The next time when the computer is started, you should be logged straight into your desktop


HOW-TO: Exit Demo mode AIWA cdc-r227

As a service to my fellow Aiwa CDC-X227 owners, here are the directions for turning off “demo” mode. It involves three sets of controls: The “SRC” button, the volume control knob and the two up-down switches to the left of the volume control.

1. Press and hold the SRC button until “ILL” appears on the display.

2. Press either the up or down switch until “DE” appears on the display.

3. Rotate the volume control until “DE 0” appears on the display. Don’t touch the stereo for several seconds after that, so that it accepts the command and goes back to its normal display.

Took me 15 minutes searching the web for this solution! Now i’ve got it and no-one can take it from me!


Fix ConsoleOne Buttons and Lines

Today i tackled a problem at my customer. His problem was that when he opens Novell ConsoleOne, the buttons were unavailable and lines are not shown.
No Buttons
To resolve this, i changed in the following registry key:



Now the buttons are shown correctly!
With Buttons


HP Quick Launch Buttons won’t work

Last month, i had problems with a new HP laptop. I wanted to deploy the default Windows image to it, but i just couldn’t get the HP Quick Launch Buttons to work.
I found out that the problem was created by myself! (what else is new).
Luckily i found a solution…

The problem was that i could not get the quick launch buttons driver software to install. Then i remembered that i build the image WITHOUT usb devices in VMware workstation. During this installation three essential files were not copied to my system.

– hidclass.sys
– hidparse.sys
– hidusb.sys

Copy them from the Windows installation cd to C:\WINDOWS\system32\drivers and you’ll be able to install the Quick Launch Buttons software !


SCRIPT: Simple Delete Script

I needed to delete one file in every home directory of the users. For this i used an easy script using ‘for’.

@echo off
REM DELETE Powerfuse Printer Settings

cd \users\Home
for /F "usebackq delims==" %%i in (`dir *.* /B`) DO del /F /Q e:\users\home\%%i\PwrMenu\UserPref\PrinterPreferences.dat


Disable Computer Domain Account Password Synchronistation

VMware allows you to roll back a guest OS to previous snapshots. Rolling back to snapshots can result in the guest OS not being able to authenticate to the Active Directory domain. This is because, by default, every 30 days, the computer will negotiate a new password with its Active Directory computer account object.

Microsoft Knowledge Base article KB175468 lists someworkarounds to this situation. Method 1, the registry change option, is known to work. Method 3, using Local Group Policy, is being investigated.

Method 1 entails setting the following registry key;

  DisablePasswordChange REG_DWORD 1

Command line printer control in Windows XP / 2000

Many, but not all, printer settings can be done from Windows 2000’s command line using PRINTUI.DLL and RUNDLL32.EXE.

The list of functions on this page was generated using the following command in Windows 2000 (Professional):


Note: I certainly did not test each of these switches myself!
To be honest, I usually prefer to use the (VBScript) printer management scripts that come with Windows 2000 and later (%windir%\System32\*prn*.vbs).

More information is available at Microsoft’s TechNet under Q189105.

Download Microsoft’s PrintUI.DLL User’s Guide and Reference for more detailed, task oriented explanations of command line options.


RUNDLL32 PRINTUI.DLL,PrintUIEntry [ options ] [ @commandfile ]

binary file name
base printer name
unc machine name if the action is on a remote machine
delete local printer
delete network printer connection
delete printer driver
display printing preferences
either inf file or output file
add per machine printer connections
enum per machine printer connections
delete per machine printer connections
driver architecture, one of the following:
Alpha | Intel | Mips | PowerPC
install printer driver using inf file
install printer driver using add printer driver wizard
install printer using inf file
install printer using add printer wizard with an inf file
install printer using add printer wizard
add network printer connection
print provider name
print test page to specified printer, cannot be combined with command when installing a printer
printer driver source path
printer driver model name
printer name
display printer queue view
display printer properties
quiet mode, do not display error messages
port name
display server properties
Store printer settings into a file

Restore printer settings from a file

Store or restore printer settings option flags that must be placed at the end of command:

c Color Profile
d PrinterData
s Security descriptor
g Global DevMode
m Minimal settings
u User DevMode
r Resolve name conflicts
f Force name
p Resolve port

use the existing printer driver if it’s already installed
zero based index page to start on
driver version, one of the following:
Windows 95 or 98 | Windows NT 3.1 | Windows NT 3.5 or 3.51 | Windows NT 3.51 | Windows NT 4.0 | Windows NT 4.0 or 2000 | Windows 2000
prompt the user for a driver if specified driver is not found in the inf
set printer as the default
get printer settings
set printer settings
do not auto share this printer
share this printer, can only be used with the /if option
help this message
command line argument file


Run server properties:
RUNDLL32 PRINTUI.DLL,PrintUIEntry /s /t1 /n\\machine
Run printer properties
RUNDLL32 PRINTUI.DLL,PrintUIEntry /p /n\\machine\printer
Run add printer wizard localy
Run add printer wizard on \\machine
RUNDLL32 PRINTUI.DLL,PrintUIEntry /il /c\\machine
Run queue view
RUNDLL32 PRINTUI.DLL,PrintUIEntry /o /n\\machine\printer
Run inf install
RUNDLL32 PRINTUI.DLL,PrintUIEntry /if /b “Test Printer” /f %windir%\inf\ntprint.inf /r “lpt1:” /m “AGFA-AccuSet v52.3″
Run add printer wizard using inf
RUNDLL32 PRINTUI.DLL,PrintUIEntry /ii /f %windir%\inf\ntprint.inf
Add per machine printer connection
RUNDLL32 PRINTUI.DLL,PrintUIEntry /ga /c\\machine /n\\machine\printer /j”LanMan Print Services”
Delete per machine printer connection
RUNDLL32 PRINTUI.DLL,PrintUIEntry /gd /c\\machine /n\\machine\printer
Enumerate per machine printer connections
RUNDLL32 PRINTUI.DLL,PrintUIEntry /ge /c\\machine
Add printer driver using inf
RUNDLL32 PRINTUI.DLL,PrintUIEntry /ia /c\\machine /m “AGFA-AccuSet v52.3” /h “Intel” /v “Windows 2000” /f %windir%\inf\ntprint.inf
Remove printer driver
RUNDLL32 PRINTUI.DLL,PrintUIEntry /dd /c\\machine /m “AGFA-AccuSet v52.3” /h “Intel” /v “Windows 2000”
Set printer as default
RUNDLL32 PRINTUI.DLL,PrintUIEntry /y /n “printer”
Set printer comment
RUNDLL32 PRINTUI.DLL,PrintUIEntry /Xs /n “printer” comment “My Cool Printer”
Set printer port
RUNDLL32 PRINTUI.DLL,PrintUIEntry /Xs /n “printer” PortName “port:”
Get printer settings
RUNDLL32 PRINTUI.DLL,PrintUIEntry /Xg /n “printer”
Get printer settings saving results in a file
RUNDLL32 PRINTUI.DLL,PrintUIEntry /f “results.txt” /Xg /n “printer”
Set printer settings command usage
RUNDLL32 PRINTUI.DLL,PrintUIEntry /Xs /n “printer” ?
Store all printer settings into a file
RUNDLL32 PRINTUI.DLL,PrintUIEntry /Ss /n “printer” /a “file.dat”
Restore all printer settings from a file
RUNDLL32 PRINTUI.DLL,PrintUI /Sr /n “printer” /a “file.dat”
Store printer information on level 2 into a file
RUNDLL32 PRINTUI.DLL,PrintUIEntry /Ss /n “printer” /a “file.dat” 2
Restore from a file printer security descriptor
RUNDLL32 PRINTUI.DLL,PrintUIEntry /Sr /n “printer” /a “file.dat” s
Restore from a file printer global devmode and printer data
RUNDLL32 PRINTUI.DLL,PrintUIEntry /Sr /n “printer” /a “file.dat” g d
Restore from a file minimum settings and resolve port name
RUNDLL32 PRINTUI.DLL,PrintUIEntry /Sr /n “printer” /a “file.dat” m p

More to explore:

Microsoft Knowledge Base articles:
How to add printers with no user interaction in Windows XP and
How to add printers with no user interaction in Windows (2000/2003).

How to print files from the command line (or batch files).

A tip from Iain Hamilton:

I found this excellent page that gives a LOT of
additional functionality to the rundll command (it’s near the bottom of
the page).

For example, there are commands for:

  • changing the sharename for the printer
  • switching the share on/off
  • adding comments and location fields to the printer!

Also, I might add: when you’re using the /Z switch to auto-share a printer,
it truncates the name to 8 characters. By using the syntax included on this
webpage, you can change the share to be longer than 8. This command is
especially useful, since it’s cluster-aware.

Iain Hamilton

Thanks Iain

More RUNDLL and RUNDLL32 commands can be found on my RUNDLL page.

An overview of

Registry Entries for Printing by Microsoft.

If RUNDLL32 just won’t do the job:

Sometimes we need to do just alittle more than RUNDLL32 is capable of,
like installing a TCP/IP printer port.

In that case, consider buying yourself a copy of the
Windows 2000 Server/Windows Server 2003
Resource Kit
and use PRNADMIN.DLL and the accompanying sample
scripts written in VBScript.

My own AddIPPrn.bat
uses these VBScripts to install a printer, its driver and a TCP/IP printer
port on a remote computer.

If all you need is to backup/restore, clone or migrate existing printers:

Often the printer configurations of existing computers need to be
cloned to other computers, or restored after reinstalling Windows.

In those cases, a backup/export and restore/import with Microsoft’s
PrintMig 3.1 may be the best (and easiest) solution.

Though earlier versions of PrintMig were GUI only, version 3.1 can also be
run without user interaction from the command line or in a batch file:

Microsoft (R) Windows (TM) Printer Migrator 3.1
Copyright (C) 1997-2002 Microsoft Corp. All rights reserved

usage: PRINTMIG [options] [server]
       [-?] Display this message
       [-b] Backup - followed by CAB file name
       [-r] Restore - followed by CAB file name
       [-l] Attempt to convert LPR Ports to SPM
       [-i] Suppress warning popups.  Info still written to log file.

If server is not specified then the local machine is implied.

Example command line to restore an existing config to a server:
  printmig -r d:\print\ \\prt-srvr1

Example command line to backup a server to the specified file:
  printmig -b "\\filesrv\store\print server" \\prt-srvr2

Related Stuff

  • Print files

    Print files using their registered print commands

  • Command Line Switches
    Print (or open, convert, etc.) files using third party viewers/editors and their command line switches

Remove Dell hidden partition

Here’s a quick how to remove the Dell hidden system partition. This partition can cause some HAL-related problems after imaging computers.

Open the Diskpart application by either typing in “Diskpart” (without the quotation marks) into the search, or type “Diskpart.exe” into Run by pressing the Windows key + R.

Now with Diskpart open, you must enter the following command lines:

I. Type “list disk” without the quotation marks and press enter.
II. Type in “select disk 0” and press enter.
III. Then type in “list partition” and press enter.
IV. Then type in “select partition x” x=the recovery partition you wish to delete (i believe it’s 1, i dont recall) replace x with the recovery partition number and press enter.
V. Then finally type in “delete partition override” and press enter.

Voila, the partition is history 🙂


Explorer Commands

Explore what? Command-line
Object X and optionally sub-object Y (general case)
General syntax:

Explorer [/n][/e][,/root],X,[[/Select],Y]


Use /e to show the left Explorer pane (TreeView) together with the right pane (ListView).
Use /n to hide the left Explorer pane (TreeView).
If /root is present, we start exploring at the root object (X) and objects belonging to X.
If /root is not present, we explore the object X, its children, and other Explorer objects as well.

Exploring drive C: only with Folders panel and then without it:
Explorer /E,/Root,C:

Explorer /Root,%SystemDrive%

Exploring Windows directory only:
Explorer /E,/Root,%windir%

Exploring the Logon Server (you can use UNC paths) only:
Explorer /E,/Root,%LogonServer%

Exploring the current user profile path only:

Exploring the System32 folder and putting the focus on the calc.exe program:
Explorer /N,%windir%\system32,/select,%windir%\system32\calc.exe

My Computer Explorer /E,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}

Explanation: The object My Computer is a namespace which has the CLSID: {20D04FE0-3AEA-1069-A2D8-08002B30309D}

Control Panel Explorer /N,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}

Explanation: The Control Panel object whose CLSID is: {21EC2020-3AEA-1069-A2DD-08002B30309D} is a sub-object of My Computer.

Printers and telecopiers Explorer /N,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{2227A280-3AEA-1069-A2DE-08002B30309D}

Fonts Explorer /N,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{D20EA4E1-3957-11d2-A40B-0C5020524152}

Scanners and Cameras Explorer /N,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{E211B736-43FD-11D1-9EFB-0000F8757FCD}

Network Neighbourhood Explorer /N,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{7007ACC7-3202-11D1-AAD2-00805FC1270E}

Administration Tools Explorer /N,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{D20EA4E1-3957-11d2-A40B-0C5020524153}

Tasks Scheduler Explorer /N,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{D6277990-4C6A-11CF-8D87-00AA0060F5BF}

Web Folders Explorer /N,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{BDEADF00-C265-11D0-BCED-00A0C90AB50F}

My Documents Explorer /N,::{450D8FBA-AD25-11D0-98A8-0800361B1103}

Recycle Bin Explorer /N,::{645FF040-5081-101B-9F08-00AA002F954E}

Network Favorites Explorer /N,::{208D2C60-3AEA-1069-A2D7-08002B30309D}

Default Navigator Explorer /N,::{871C5380-42A0-1069-A2EA-08002B30309D}

Computer search results folder Explorer /N,::{1F4DE370-D627-11D1-BA4F-00A0C91EEDBA}

Network Search Results computer Explorer /N,::{E17D4FC0-5564-11D1-83F2-00A0C90DC849}


How to change your Office 2007 Product Key

Follow these steps:

Close all Microsoft Office applications.
Click Start, click Run, type regedit in the Open box, and then click OK.

Locate the following registry subkey:

Note You may also find another subkey that resembles the following subkey:


If you find additional subkeys that reference Microsoft 12.0 registration, open each subkey, and then identify the product by the ProductName entry.
For example: ProductName=Microsoft Office Professional Plus 2007

When you find the subkey for the product from which you want to remove the existing product license key, delete the following entries:

Exit Registry Editor.
The next time that you try to run an Office application, you will be prompted for a new product license key. Then, you can enter the product license key.


Modify multiple Active Directory objects with ADModify

A while ago I discovered a Free tool which can be used to mass-edit Active directory objects.
It’s called AdModify and you can download it here.


How to get your FREE Windows 7 RC product key

Free product keys for Windows 7 Beta can be generated from this website:

Update: You can’t generate new keys, but you are able to view your last generated key…


GPMC error while generating report

Just ran into this and thought i would pass this little nugget of knowledge along in case it happens to you.

You are in GPMC and one of your GPO’s throws an error when you try to run a settings report.

“An error occurred while generating report:
An unknown error occurred while the HTML report was being created.”

Seems to be something with importing IE security settings.

Edit install.ins inside: {GUID of Policy}\user\MICROSOFT\IEAK

[Security Imports]

Set it back to “0”

Works like a charm 🙂