A colleague asked me today how to exclude a directory structure on a single client machine from being inventoried by SCCM. The answer is to create a hidden sparse text file named skpswi.dat in the folder.
Thanks Tyriax for the question!
Tuesday, September 7, 2010
Wednesday, September 1, 2010
Office Autosave Locations
I always thought that the autosave for an Office file was created in the same location as the file. It turns out that this was because I almost always work with Office files on network drives.
When a new file is started a temporary file is created. This can be either in the windows temp directory, in "C:\ Documents and Settings\<username>\Application Data\Microsoft". If the file is stored on a network drive then it will be temporarily created there.
This temporary file will have a few different letters after the tilde (or squiggly line “ ~”) . These are good ones to look for to find some lost info. There are others, but these are the ones most likely to contain data that can be recovered.
When a new file is started a temporary file is created. This can be either in the windows temp directory, in "C:\ Documents and Settings\<username>\Application Data\Microsoft". If the file is stored on a network drive then it will be temporarily created there.
This temporary file will have a few different letters after the tilde (or squiggly line “ ~”) . These are good ones to look for to find some lost info. There are others, but these are the ones most likely to contain data that can be recovered.
Thursday, August 12, 2010
Subroutine to quit a VBS login script on Windows 2003/2008 servers
Sub DetectOS()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOperatingSystem In colOperatingSystems
If InStr( objOperatingSystem.Caption,"2003") <> 0 _
or InStr( objOperatingSystem.Caption,"2008") <> 0 Then
WriteLog "Detected Operating System: " & objOperatingSystem.Caption
WriteLog "Script will not continue...."
WScript.Quit(0)
Else
WriteLog "Detected Operating System: " & objOperatingSystem.Caption
WriteLog "Script will continue....."
End if
NextEnd Sub
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOperatingSystem In colOperatingSystems
If InStr( objOperatingSystem.Caption,"2003") <> 0 _
or InStr( objOperatingSystem.Caption,"2008") <> 0 Then
WriteLog "Detected Operating System: " & objOperatingSystem.Caption
WriteLog "Script will not continue...."
WScript.Quit(0)
Else
WriteLog "Detected Operating System: " & objOperatingSystem.Caption
WriteLog "Script will continue....."
End if
NextEnd Sub
Sunday, July 4, 2010
Exchange and Server Naming
I worked for an organisation once that had a naming convention for its servers that constituted:
Unfortunately, this resulted in a server name of AUTHOMS01. You might look at this and think "Okay, no problem" and you would be right, unless you installed Exchange on the server.
We couldn't for the life of us figure out why Exchange would not complete SMTP transactions even though the answer was staring us in the face. It turned out that whenever the server communicated with a destination server, the transaction stopped whenever the AUTHOMS01 server presented itself.... because SMTP saw the first four letters of the server name as a valid SMTP command: AUTH.
So take care not to name your mail servers with a name that starts with a valid SMTP command!
Cheers,
Sean
- a country code (2 alpha)
- a location code (3 alpha)
- a server type code (2 alpha)
- an instance number (2 numeric)
Unfortunately, this resulted in a server name of AUTHOMS01. You might look at this and think "Okay, no problem" and you would be right, unless you installed Exchange on the server.
We couldn't for the life of us figure out why Exchange would not complete SMTP transactions even though the answer was staring us in the face. It turned out that whenever the server communicated with a destination server, the transaction stopped whenever the AUTHOMS01 server presented itself.... because SMTP saw the first four letters of the server name as a valid SMTP command: AUTH.
So take care not to name your mail servers with a name that starts with a valid SMTP command!
Cheers,
Sean
Locating Encrypted Files
When undertaking a file migration project between Active Directory domains and forests, it's necessary to locate any EFS encrypted files in order to decrypt them prior to the decommissioning of the old domain and the loss of the keys.
I located this handy script that will identify encrypted files in a volume (just change the drive letter as necessary):
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFolders = objWMIService. _
ExecQuery("Select * from Win32_Directory where Drive='C:'" _
& " AND Encrypted=True")
For Each objFolder in colFolders
Wscript.Echo "Name: " & objFolder.Name
Wscript.Echo "Path: " & objFolder.Path
Next
I located this handy script that will identify encrypted files in a volume (just change the drive letter as necessary):
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFolders = objWMIService. _
ExecQuery("Select * from Win32_Directory where Drive='C:'" _
& " AND Encrypted=True")
For Each objFolder in colFolders
Wscript.Echo "Name: " & objFolder.Name
Wscript.Echo "Path: " & objFolder.Path
Next
Wednesday, June 16, 2010
Excel: Splitting Names
I've been working on a project that requires the manipulation of name data. A lot of the names were given as full names, some with multiple last names, that for the purposes of data manipulation had to be split. Here's the simple way to do it:
Assuming data is in A1 and the value of the cell is "Charles Kingsford Smith"
For First Name use:
=LEFT(A1,FIND(" ",A:A)-1)
for a resulting value of "Charles"
and for Last Name use:
=MID(A1,FIND(" ",A1)+1,LEN(A1))
for a resulting value of "Kingsford Smith"
Thursday, May 13, 2010
Change the READY message on HP Printers
A little bit of Friday humour...
Be aware that this may be against your organisations Acceptable Use Policy. Also be aware that people without a sense of humour may not find it funny. Don't get into trouble!
The message may be reset to the default by power cycling the printer, or re-running the script and passing "READY" as the message.
Please note, I have not tested this... yet... hehehe.
Telnet to port 9100 on the printer and enter the following:
\e%-12345X\@PJL JOB
\@PJL RDYMSG DISPLAY="MESSAGE HERE"
\@PJL EOJ
\e%-12345X
Some funny suggestions:
“Insert Coin”,
“Insert Cheese”,
“Im Sad..”,
“Low Monkeys”,
“Feed me a cat”,
“Insert Butter & Jam”,
“Free The Ink!!”,
“My Cousin Is A Toaster”,
“Load Soy Latte”,
“Paper Tastes Funny Today”,
“Free Hugs..”,
“Toner Tastes Funny Today”,
“Press OK Button for Pacman”,
“Flower Power Mode”,
“Incoming Fax…”,
“Cheese Mode”
Subscribe to:
Posts (Atom)