Disable movie/video thumbnail preview under Windows XP
Rather annoyingly, the explorer.exe process under Windows XP can sometimes hang, stop responding, crash or just plain terminate/close itself while it tries to display video/movie thumbnails in any given folder.
The reason for this can be a multitude of issues – like a dodgy codec, etc – and seems to be rather in-discriminant as to which file type it decides to screw up with (AVI, MPG, WMV, ASF, etc).
To get around this problem though, it is possible to easily disable this feature. Either fire up a command prompt or execute this straight from the run dialog box:
regsvr32 /u shmedia.dll
And if you want to re-enable it again at a later date:
regsvr32 shmedia.dll
Now, the only knock-on effect is that you’ll no longer be able to see summary information in the file properties. In my opinion though, it’s a small price to pay!!
Configure Outlook Exchange email account through login script
This one’s a common issue – you’ve got hundreds of users and want an efficient way of handing out Exchange email account settings to all of your Outlook users. Well, I’m going to cut through all the waffle and tell you the method I use.
I create a .prf file (Outlook Profile), store it in a shared server location, and reference it from within a login script. The problem is, I only want it to run once (when a user logs into a machine for the first time). So I check for the existence of a junk file in the users profile directory (C:\Doc & Set\user\outlookdone.dat – which incidentally also contains the date it was originally done). The resulting login batch file looks a bit like this:
if exist “%USERPROFILE%\outlookdone.dat” goto outlookdone
echo Configuring Outlook EMail profile..
“c:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE” /importprf \\server\share\outlook.prf
echo %date% >”%USERPROFILE%\outlookdone.dat”: outlookdone
(NB: that this is for Outlook 2003 – OFFICE11. This method should also work for 2002 and 2007 – however it has not been tested). Finally, the all important .prf file looks a bit like this:
[General]
Custom=1
ProfileName=Default profile
DefaultProfile=Yes
OverwriteProfile=No
ModifyDefaultProfileIfPresent=FALSE[Service List]
;ServiceX=Microsoft Outlook Client
ServiceEGS=Exchange Global Section
Service1=Microsoft Exchange Server
ServiceEGS=Exchange Global Section[ServiceEGS]
MailboxName=%UserName%
HomeServer=YOUREXCHANGESERVERNAMEGOESHERE
[Service1]
OverwriteExistingService=No
UniqueService=Yes
MailboxName=%UserName%
HomeServer=YOUREXCHANGESERVERNAMEGOESHERE
AccountName=Microsoft Exchange Server[Microsoft Exchange Server]
ServiceName=MSEMS
MDBGUID=5494A1C0297F101BA58708002B2A2517
MailboxName=PT_STRING8,0×6607
HomeServer=PT_STRING8,0×6608
OfflineAddressBookPath=PT_STRING8,0×660E
OfflineFolderPath=PT_STRING8,0×6610[Exchange Global Section]
SectionGUID=13dbb0c8aa05101a9bb000aa002fc45a
MailboxName=PT_STRING8,0×6607
HomeServer=PT_STRING8,0×6608
RPCoverHTTPflags=PT_LONG,0×6623
RPCProxyServer=PT_UNICODE,0×6622
RPCProxyPrincipalName=PT_UNICODE,0×6625
RPCProxyAuthScheme=PT_LONG,0×6627
CachedExchangeConfigFlags=PT_LONG,0×6629[Microsoft Mail]
ServiceName=MSFS
ServerPath=PT_STRING8,0×6600
Mailbox=PT_STRING8,0×6601
Password=PT_STRING8,0×67f0
RememberPassword=PT_BOOLEAN,0×6606
ConnectionType=PT_LONG,0×6603
UseSessionLog=PT_BOOLEAN,0×6604
SessionLogPath=PT_STRING8,0×6605
EnableUpload=PT_BOOLEAN,0×6620
EnableDownload=PT_BOOLEAN,0×6621
UploadMask=PT_LONG,0×6622
NetBiosNotification=PT_BOOLEAN,0×6623
NewMailPollInterval=PT_STRING8,0×6624
DisplayGalOnly=PT_BOOLEAN,0×6625
UseHeadersOnLAN=PT_BOOLEAN,0×6630
UseLocalAdressBookOnLAN=PT_BOOLEAN,0×6631
UseExternalToHelpDeliverOnLAN=PT_BOOLEAN,0×6632
UseHeadersOnRAS=PT_BOOLEAN,0×6640
UseLocalAdressBookOnRAS=PT_BOOLEAN,0×6641
UseExternalToHelpDeliverOnRAS=PT_BOOLEAN,0×6639
ConnectOnStartup=PT_BOOLEAN,0×6642
DisconnectAfterRetrieveHeaders=PT_BOOLEAN,0×6643
DisconnectAfterRetrieveMail=PT_BOOLEAN,0×6644
DisconnectOnExit=PT_BOOLEAN,0×6645
DefaultDialupConnectionName=PT_STRING8,0×6646
DialupRetryCount=PT_STRING8,0×6648
DialupRetryDelay=PT_STRING8,0×6649[Personal Folders]
ServiceName=MSPST MS
Name=PT_STRING8,0×3001
PathToPersonalFolders=PT_STRING8,0×6700
RememberPassword=PT_BOOLEAN,0×6701
EncryptionType=PT_LONG,0×6702
Password=PT_STRING8,0×6703[Unicode Personal Folders]
ServiceName=MSUPST MS
Name=PT_UNICODE,0×3001
PathToPersonalFolders=PT_STRING8,0×6700
RememberPassword=PT_BOOLEAN,0×6701
EncryptionType=PT_LONG,0×6702
Password=PT_STRING8,0×6703[Outlook Address Book]
ServiceName=CONTAB[LDAP Directory]
ServiceName=EMABLT
ServerName=PT_STRING8,0×6600
UserName=PT_STRING8,0×6602
UseSSL=PT_BOOLEAN,0×6613
UseSPA=PT_BOOLEAN,0×6615
DisableVLV=PT_LONG,0×6616
DisplayName=PT_STRING8,0×3001
ConnectionPort=PT_STRING8,0×6601
SearchTimeout=PT_STRING8,0×6607
MaxEntriesReturned=PT_STRING8,0×6608
SearchBase=PT_STRING8,0×6603[Microsoft Outlook Client]
SectionGUID=0a0d020000000000c000000000000046
FormDirectoryPage=PT_STRING8,0×0270
WebServicesLocation=PT_STRING8,0×0271
ComposeWithWebServices=PT_BOOLEAN,0×0272
PromptWhenUsingWebServices=PT_BOOLEAN,0×0273
OpenWithWebServices=PT_BOOLEAN,0×0274
CachedExchangeMode=PT_LONG,0×041f
CachedExchangeSlowDetect=PT_BOOLEAN,0×0420[Personal Address Book]
ServiceName=MSPST AB
NameOfPAB=PT_STRING8,0×001e3001
Path=PT_STRING8,0×001e6600
ShowNamesBy=PT_LONG,0×00036601; ************************************************************************
; Section 7 – Mapping for internet account properties. DO NOT MODIFY.
; ************************************************************************[I_Mail]
AccountType=POP3
;— POP3 Account Settings —
AccountName=PT_UNICODE,0×0002
DisplayName=PT_UNICODE,0×000B
EmailAddress=PT_UNICODE,0×000C
;— POP3 Account Settings —
POP3Server=PT_UNICODE,0×0100
POP3UserName=PT_UNICODE,0×0101
POP3UseSPA=PT_LONG,0×0108
Organization=PT_UNICODE,0×0107
ReplyEmailAddress=PT_UNICODE,0×0103
POP3Port=PT_LONG,0×0104
POP3UseSSL=PT_LONG,0×0105
; — SMTP Account Settings —
SMTPServer=PT_UNICODE,0×0200
SMTPUseAuth=PT_LONG,0×0203
SMTPAuthMethod=PT_LONG,0×0208
SMTPUserName=PT_UNICODE,0×0204
SMTPUseSPA=PT_LONG,0×0207
ConnectionType=PT_LONG,0×000F
ConnectionOID=PT_UNICODE,0×0010
SMTPPort=PT_LONG,0×0201
SMTPUseSSL=PT_LONG,0×0202
ServerTimeOut=PT_LONG,0×0209
LeaveOnServer=PT_LONG,0×1000[IMAP_I_Mail]
AccountType=IMAP
;— IMAP Account Settings —
AccountName=PT_UNICODE,0×0002
DisplayName=PT_UNICODE,0×000B
EmailAddress=PT_UNICODE,0×000C
;— IMAP Account Settings —
IMAPServer=PT_UNICODE,0×0100
IMAPUserName=PT_UNICODE,0×0101
IMAPUseSPA=PT_LONG,0×0108
Organization=PT_UNICODE,0×0107
ReplyEmailAddress=PT_UNICODE,0×0103
IMAPPort=PT_LONG,0×0104
IMAPUseSSL=PT_LONG,0×0105
; — SMTP Account Settings —
SMTPServer=PT_UNICODE,0×0200
SMTPUseAuth=PT_LONG,0×0203
SMTPAuthMethod=PT_LONG,0×0208
SMTPUserName=PT_UNICODE,0×0204
SMTPUseSPA=PT_LONG,0×0207
ConnectionType=PT_LONG,0×000F
ConnectionOID=PT_UNICODE,0×0010
SMTPPort=PT_LONG,0×0201
SMTPUseSSL=PT_LONG,0×0202
ServerTimeOut=PT_LONG,0×0209
CheckNewImap=PT_LONG,0×1100
RootFolder=PT_UNICODE,0×1101[INET_HTTP]
AccountType=HOTMAIL
Account=PT_UNICODE,0×0002
HttpServer=PT_UNICODE,0×0100
UserName=PT_UNICODE,0×0101
Organization=PT_UNICODE,0×0107
UseSPA=PT_LONG,0×0108
TimeOut=PT_LONG,0×0209
Reply=PT_UNICODE,0×0103
EmailAddress=PT_UNICODE,0×000C
FullName=PT_UNICODE,0×000B
Connection Type=PT_LONG,0×000F
ConnectOID=PT_UNICODE,0×0010
Did you find this hint useful? Are you looking to learn more? Well, here’s a few books that I’ve found useful – have a goosie!
![]() Mastering Microsoft Exchange Server 2003 |
![]() Microsoft Windows Shell Script Programming |
![]() Microsoft Windows Script Host |
![]() Active Directory for Dummies |
Redirecting My Documents shell folder from a login script / commandline
I’ve always been a firm believer in Group Policy redirecting users’ My Documents folders for me – but there’s nothing like the reassurance of a good old batch file carrying this operation out for you.
So how do you do it? Well, the location of My Documents is stored in the registry (which is read by the explorer process when it’s spawned) and is located here:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Personal
As you would expect, editing this one value redirects My Docs. So, as part of your network login script, you can achive this automatically by adding in:
reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders” /v Personal /t REG_EXPAND_SZ /d \\server\%USERNAME% /f
…to redirect to your server using the username of the currently logged on user as the share name.
Did you find this hint useful? Are you looking to learn more? Well, here’s a few books that I’ve found useful – have a goosie!
![]() Active Directory for Dummies |
![]() Microsoft Windows Shell Script Programming |
![]() Microsoft Windows Script Host |
![]() Mastering Windows Server 2003 |
Hide Run option from the Start Menu
Another useful tweak (especially useful for terminal server environments!) is the ability to hide the Run option from the Start Menu. Start registry editor and navigate to:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Create a new DWORD value and set it to 1.
Prevent viewing of drives through Internet Explorer
I’ve already covered how to hide local drives from My Computer (and common dialog boxes). But, you might want to also crack down on users circumventing this by typing the drive letter into an Internet Explorer window to get access to them.
Navigate to the key:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Create a DWORD value and name it NoFileURL. Set it to 1 (which means that drives can not be viewed with IE)
You might also consider hiding the Run menu option too (which I’ll have another dig around for!)
Hide drives from My Computer
Here’s how to hide drive letters from within My Computer. When users open My Computer from the desktop, they will see an icon for each drive on the system. With the following Registry change, you can hide these icons, preventing users from finding them and using them.
Why would you want to do this? Well, apart from the obvious shifty method of hiding your stuff, it’s VERY useful in terminal server environments where you want to hide the potentially sensitive system drives, local floppy disk or CD-ROM drives. Not so silly now, eh? Remember that you can still access these drives by typing the drive letter directly (for instance in an Open/Save/Run dialog box). I’ll dig out another tweak later to show how to crack down on this too!
Open Registry Editor and navigate to:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Create a DWORD value and name it NoDrives. As for it’s value, you’ll need to work it out depending on what drives you wish to hide. Simply add them together from the following list. The total is what you’ll use for the the NoDrives value.
A=1
B=2
C=4
D=8
E=16
F=32
G=64
H=128
I=256
J=512
K=1024
L=2048
M=4096
N=8192
O=16384
P=32768
Q=65536
R=131072
S=262144
T=524288
U=1048576
V=2097152
W=4194304
X=8388608
Y=16777216
Z=33554432
For examply, if you want to hide drives A, C and D the value would be 13 (1 + 4 + 8).
Please make sure that you backup your registry BEFORE carrying out this modification, etc, etc, etc!






