How To Create a Universal Ghost Image Using Sysprep and Mysysprep

By: len | On: 09/08/2008 | In: Tech | Comments: 0

first off I cannot take credit for this great article as it was written by Ian Lilkendey. It is very useful so I thought I would post it on my blog to perpetuate the info. great job Ian

How To Create a Universal Ghost Image Using Sysprep and Mysysprep

How To Create a Universal Ghost Image.
This is my guide to building a "Universal" (compatible with most HALs) Ghost Image. I will revise as needed.

Hopefully this will cover everything you need to create your own Universal Image. I have tried to cover all the issues I have run into.
With the use of "MYSYSPREP", my image names the PC via it's serial cnumber and switches the HAL based on the model.

If you have any questions or suggestions please feel free to comment.

Note*: You need to make sure you are using the Corporate version of Windows XP. If you are using a regular OEM copy of Windows you will have issues using SYSPREP. I believe after you SYSPREP an image twice it requires you to re-validate or something.

Note*: Make sure you do not install "Windows Genuine Advantage". If you have, remove it. Here are the instructions on how to... http://support.microsoft.com/kb/921914

Okay, so lets get started..

1. Do a clean install of Windows XP.

  • I usually start building the image on my slowest model PC. I have found that this really does not matter as long you change the HAL to ACPI.
  • Try to avoid installing any unnecessary drivers and make sure to utilize the ".inf" for the drivers that are required.
  • Optional: I usually create a backup image right after I install windows. This saves me time if I have to start from scratch
2. Change the HAL to ACPI.

  1. Open the I386 folder located on your XP SP2 cd.
  2. Open the SP2.CAB.
  3. Extract halacpi.dll (not halaacpi.dll) to a temporary folder and rename it to hal.dll.
  4. Extract ntkrnlpa.exe and ntoskrnl.exe to the same temporary folder.
  5. Move all three files to the system32 folder under your windows directory. Say yes to replace files.
  6. Reboot
You have now switched your PC to ACPI!

3. Apply all critical patches released by Microsoft. Again, avoid installing Windows Genuine Advantage.

4. Create a configuration checklist and follow it.


  • Note*: One of the interesting features they added to XP SP2 is the fact that when you SYSPREP your image it will copy the local admin profile to the default profile. I have mixed feeling about this but I have made it work for me. There is a patch to get around it if you need it
  • Here is a generic checklist. Add or remove details as needed...
  1. _Clear take a tour
  2. _Clear .net passport
  3. _Remove MSN Explorer
  4. _Remover Internet Messenger
  5. _Display Setting
  6. _1024 x 768
  7. _Windows Classic Theme
  8. _Set wall paper
  9. _Set screen Saver
  10. _Set power scheme
  11. _Disable hibernation
  12. _Set Taskbar settings
  13. _Set internet option
  14. _Empty Recycle Bin
  15. etc...
5. Install and configure necessary software.
  • I try to document whatever I have installed in a change log. That way we can keep track of changes.
6. Download the latest version of SYSPREP. You can find it at... http://support.microsoft.com/?kbid=838080

  • Extract "deploy.cab" to "C:\sysprep" on your image machine.

7. Download "MYSYSPREP" from here... http://jimtsay.googlepages.com/mysysprep

  • extract it into the "c:\sysprep" folder.
  • This is a hacked version of SYSPREP. Read the full description of it via the link. It works side-by-side with sysprep to add more robust features.

8. Create the following folder "c:\drivers". Make a subfolder for each of the required drivers for all your PCs.

Example.
c:\drivers\vid7600
c:\drivers\snd7600
c:\drivers\vid350
Make sure to trim your drivers down. Anytime you download drivers they usually contain a folder with what is required for windows... files with the .inf extension. Here is a screen shot of an audio driver I have.




9. You can create your own sysprep.inf by running c:\sysprep\setupmgr.exe. It will ask you a series of questions related to what you want sysprep to do. Or you can use the sysprep.inf below.

Note*: Anything I put in bold and red do not include in your sysprep.inf.

[Unattended]
;This tell sysprep to do an unattended setup.
unattendedMode=FullUnattended
OemSkipEula=Yes
;OemPnPDrivers refers to the "C:\drivers" folder you created. I trimmed this down a bit.
OemPnPDriversPath=Drivers\Snd64;Drivers\Vid6400;Drivers\Vid62;Drivers\Vid6;Drivers\mdm62;Drivers\mdm6;Drivers\snd62;Drivers\MD64;Drivers\Modem64;Drivers\TPM;Drivers\QL64;Drivers\FING;Drivers\SATA
;InstallFilesPath refers to the root in which you store everything... drivers etc...
InstallFilesPath=C:\
ConfirmHardware=No
OverwriteOemFilesOnupgrade=No
DriverSigningPolicy = Ignore
oempreinstall=yes
updateInstalledDrivers=Yes

[GuiUnattended]
;Set your local admin password here
AdminPassword=******
AutoLogon=No
AutoLogonCount=0
OEMSkipRegional=1
TimeZone=35
OemSkipWelcome=1s

[UserData]
;Put your Product Key here.
ProductKey=xxxx-xxxx-xxxx-xxxx-xxxx
FullName="xxx"
OrgName="xxx"
;This is a special added feature that comes with MYSYSPREP. ;You can have your PC named by it serial number. ;Below you see that I have it type out JAX in front of the Serial Number
ComputerName=JAX%SerialNo%

[Display]
BitsPerPel=32
Xresolution=1024
YResolution=768

[SetupMgr]
DistFolder=C:\sysprep\i386
DistShare=windist

[Identification]
;Here you can have the computer join the domain. ;Enter the crudentials of a user that has rights to do this. JoinDomain=xxx
DomainAdmin=xxx
DomainAdminPassword=xxxx

[Networking]
InstallDefaultComponents=Yes

[Sysprep]
BuildMassStorageSection=No

[SysprepMassStorage]
PCI\VEN_8086&DEV_27C1&CC_0106 = %systemdrive%\drivers\sata\iaahci.inf ; Intel(R) 82801GR/GH SATA AHCI Controller (Desktop ICH7R/DH)
PCI\VEN_8086&DEV_27C5&CC_0106 = %systemdrive%\drivers\sata\iaahci.inf ; Intel(R) 82801GBM SATA AHCI Controller (Mobile ICH7M)
PCI\VEN_8086&DEV_2652&CC_0106 = %systemdrive%\drivers\sata\iaahci.inf ; Intel(R) 82801FR SATA AHCI Controller (Desktop ICH6R)
PCI\VEN_8086&DEV_2653&CC_0106 = %systemdrive%\drivers\sata\iaahci.inf ; Intel(R) 82801FBM SATA AHCI Controller (Mobile ICH6M)
PCI\VEN_8086&DEV_27C3&CC_0104 = %systemdrive%\drivers\sata\iastor.inf ; Intel(R) 82801GR/GH SATA RAID Controller (Desktop ICH7R/DH)
PCI\VEN_8086&DEV_24DF&CC_0104 = %systemdrive%\drivers\sata\iastor.inf ; Intel(R) 82801ER SATA RAID Controller (Desktop ICH5R)
PCI\VEN_8086&DEV_25B0&CC_0104 = %systemdrive%\drivers\sata\iastor.inf ; Intel(R) 6300ESB SATA RAID Controller
PCI\VEN_8086&DEV_2652&CC_0104 = %systemdrive%\drivers\sata\iastor.inf ; Intel(R) 82801FR SATA RAID Controller (Desktop ICH6R)


Note*: I have "BuildMassStorageSection=No". This is only because I know exactly which mass storage drivers I need. If you change this option to "Yes" it will populate a huge list of storage drivers. This will make it more compatible across different hardware, but it adds a good 30 minutes to the SYSPREP process. Note*: I have included custum mass stroage drivers. This is for my Compaq laptops.

10. Once you have your sysprep.inf in place it is time to look at the "c:\sysprep\mysysprep.inf".
This files contain the information needed to switch the HAL before mini setup.

Here is an example:
[Manufacturer]
;Manufacturer Name=mfg.inf

[Model]
;Model Name=model.inf
;MP model=mp.inf
;UP model=up.inf
hp Compaq nc6000 (DD522AV)=up.inf
HP Compaq nc6230 (PU985AA#ABA)=up.inf
HP Compaq dc7600 Small Form Factor=mp.inf
HP Compaq dc7100 SFF(DX878AV)=mp.inf
HP d530 USDT(DG009A)=mp.inf HP d530 CMT(PB600A)=mp.inf
HP Compaq nc6400 (RA263AT#ABA)=mp.inf

[SerialNo]
;Serial No=serial.inf

Notice you have a couple of different ways to specify the HAL. I do mine by model. You can get the model info by typing "c:\sysprep\mysysprep
/smbios" from the command prompt.

Note*: Make sure you have up.inf and mp.inf in your sysprep folder.

11. Now lets backup our base image in case we need to make changes in the future. I just create an image and call it by "Something Descriptive"base. Make sure to keep a changelog and always hold onto a couple older versions of the image.

12. Time to sysprep the image. Go ahead and clean out any Temp folders and those windows update unistall etc... Make sure to clear out your recycle bin.

Go to your "c:\sysprep" and run mysysprep.exe. Hit OK past the warning. You should see something like this...


Go ahead and check the Use Mini-Setup box and click Reseal. Once SYSPREP is done it will shut down your PC.

13. As soon as you turn on your PC back on boot it to a Pre-Environment or use a ghost boot disk. Create an image of your machine and you should be all set.

14. Push the SYSPREP'd image to a new machine. See if it works!

Note*: SYSPREP will automatically delete itself when it completes!

Errors and what they mean.

Laptops can be the trickiest to image. Make sure you are using the proper HAL and Mass stroage drivers.

I have found that when safe mode stops at
agp440.sys it is the HAL.
When it stops at mup.sys it is the mass storage drivers.

"Helpful Links"

Adding Drivers to your image.
http://www.microsoft.com/technet/technetmag/issues/2006/05/UtilitySpotlight/default.aspx

enable dos login for windows 2003 domain

By: len | On: 09/08/2008 | In: Tech | Comments: 0

if your into computers I am sure you have loved and always will love ghost a simple tool that has saved us countles hours of machine configuration  and hunting for files to backup. But if you went to a windows 2003 based domain. Trust dos boot disks no longer wirk with network login credentials. you will recieve the dreded error #5 not to be mistaken for mambo #5. Anyway Dont be diheartened the issue can be reseolvedyou need to go on to you domain controller and change one setting and your back in ghosting bliss.

click start

settings

control panel

administrative tools

domain controller security policy

now follow thse steps and your ready to ghost!


2. Open the Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options folder.
3. Locate the Microsoft network server: Digitally sign communications (always) policy setting, and then click Disabled or Do Not Configure.

Life Update

By: len | On: 09/08/2008 | In: Tech | Comments: 1

Life has been pretty crazy these days. the one year aniversary of my dads death has come and gone. I would be lieing if I said it was not a hard week. But All is well we survived it.

This past weekend lauries family put on a baby shower for her. She recieved alot of nice stuff. I honstly do not have a clue what 95% of it is for but hey how hard could it be! I mean you put food in one end and clean the other end when it comes out seems pretty simple right?  We also had a 8 hour lamaz class. Now maybe I should classify this as a rant but I think lamaz training is a reserved for the 7th circle of hell. By the end of the day of watching gross videos and breathing techniques I wanted to stop breathing myself! Guys if you can avoid the lamaz class do so at all costs! If you cant get out of itdo the 2 hour classes at least the agony will be shorter durations.

The babys room is all finished i painted it about a month ago wanted the fumes to be long gone before the new resident arrives. We picked out a nice set at babys r us and got that in and all put together. I installed some nice shelves above the windows to put stuff on. I want to track down some wall mount corner shelves which is not as easy as it sounds but I am hitting the stores tomorow for those. We also ordered a night stand for the room from walmart.com so that should be in soon and the room will be complete. The in will be the filling of the room!

7 weeks to go

By: len | On: 09/08/2008 | In: Tech | Comments: 45

Well there is about 7 weeks until the arrival of laurie and I' first child. I would say i am nto nervous but that would be a lie. We have been in a baby preperation frenzy these days. We ordered the babys room furniture last weekend at babysrus and got a great deal. I finished painting the bedroom a very light pink color and it came out very nice. The purchasing of baby stuff is in full swing we picked out the bedrrom set and curtains so we are all set. We also got nice letters that spell out her name to hang on the wall in the bedroom which is pretty cool. I even got into the whole picking bay stuff out kinda scary even though most of the things we were looking at in the store i had no idea what they were for. a baby wipe warmer I mean seriously!!!! I am looking into purchasing a pedal car for her so she will have her own 55 next to daddys when I take her to car shows. Yeah I know its kinda corny but hey I am a corny kinda guy! I decided to not do the traditional baby monitor route being that I am a geek and all. I am going to get a camera that has sound and color video that can be viewed from any web browser on any computer in the house. I figure that will be much more useful later on down the road as it could be used as a nanny cam or even home survelience device. Yup I am a super geek but go with what you know I figure. I am even using my work bonus to buy baby stuff instead of car parts god I never thought I would see the day. I must be getting old..................... But hey I am gonna be a dad!

migrating domain users to new print servers

By: len | On: 09/08/2008 | In: Tech | Comments: 0

ok well all domain admins have been through it its upgrade time and you just installed your spiffy new server now how do you migrate all your users printers over to the new printer. Have them do it themselves yeah right go get a root canal it will be less painful. Use AD it works but can be cumbersom. How about a login script yeah but alot of the scripts out there do not keep your default printer the same etc etc. Well I have a great solution use this VB script.

edit the my new print server field with the name of your new print server and as long as your share names are all the same run this script in a users login script and you are done no fuss no muss and it will even keep the users default printer! Good luck hope this helps someone out!

On Error Resume Next
Function GetDefaultPrinter()
sRegVal = "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device"
sDefault = ""
On Error Resume Next
sDefault = objShell.RegRead(sRegVal)
sDefault = Left(sDefault ,InStr(sDefault, ",") - 1)
On Error Goto 0
GetDefaultPrinter = sDefault
End Function

Set objNetwork = CreateObject ("Wscript.Network")
Set objShell = CreateObject ("WScript.Shell")
Set objFSO = CreateObject ("Scripting.FileSystemObject")

LogonServer = objShell.ExpandEnvironmentStrings("%logonserver%")
UserName = objShell.ExpandEnvironmentStrings("%username%")

strComputer = "."
PrintServer = "MYNEWPRINTERSERVER"
PrintServer = LCase (PrintServer)

Err.Clear
Set objWMIService = GetObject("winmgmts:" & _
"{impersonationLevel=Impersonate}!\\" & strComputer & "\root\cimv2")

If Err.Number Then
wscript.echo ("Error : " & Err.Number & ": " & Err.Description & VbCrLf)
Err.Clear

Else
ImpDefault = GetDefaultPrinter
Set colInstalledPrinters = objWMIService.ExecQuery _
("SELECT * FROM Win32_Printer")
For Each objPrinter in colInstalledPrinters
PrinterArray = Split (objPrinter.Name , "\")

If (LCase(objPrinter.ServerName) <> "") and (LCase(objPrinter.ServerName) <> "\\" & PrintServer) then

On Error Resume Next
Function GetDefaultPrinter()
sRegVal = "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device"
sDefault = ""
On Error Resume Next
sDefault = objShell.RegRead(sRegVal)
sDefault = Left(sDefault ,InStr(sDefault, ",") - 1)
On Error Goto 0
GetDefaultPrinter = sDefault
End Function

Set objNetwork = CreateObject ("Wscript.Network")
Set objShell = CreateObject ("WScript.Shell")
Set objFSO = CreateObject ("Scripting.FileSystemObject")

LogonServer = objShell.ExpandEnvironmentStrings("%logonserver%")
UserName = objShell.ExpandEnvironmentStrings("%username%")

strComputer = "."
PrintServer = "MYNEWPRINTERSERVER"
PrintServer = LCase (PrintServer)

Err.Clear
Set objWMIService = GetObject("winmgmts:" & _
"{impersonationLevel=Impersonate}!\\" & strComputer & "\root\cimv2")

If Err.Number Then
wscript.echo ("Error : " & Err.Number & ": " & Err.Description & VbCrLf)
Err.Clear

Else
ImpDefault = GetDefaultPrinter
Set colInstalledPrinters = objWMIService.ExecQuery _
("SELECT * FROM Win32_Printer")
For Each objPrinter in colInstalledPrinters
PrinterArray = Split (objPrinter.Name , "\")

If (LCase(objPrinter.ServerName) <> "") and (LCase(objPrinter.ServerName) <> "\\" & PrintServer) then

objNetwork.AddWindowsPrinterConnection "\\" & PrintServer & "\" & PrinterArray(3)
If Err.Number Then
wscript.echo ("Error : " & Err.Number & ": " & Err.Description & VbCrLf)
Err.Clear
End If

If ImpDefault = objPrinter.Name then
objNetwork.SetDefaultPrinter ("\\" & PrintServer & "\" & PrinterArray(3))
End If

objNetwork.RemovePrinterConnection objPrinter.Name
End If
Next
End If

objNetwork.AddWindowsPrinterConnection "\\" & PrintServer & "\" & PrinterArray(3)
If Err.Number Then
wscript.echo ("Error : " & Err.Number & ": " & Err.Description & VbCrLf)
Err.Clear
End If

If ImpDefault = objPrinter.Name then
objNetwork.SetDefaultPrinter ("\\" & PrintServer & "\" & PrinterArray(3))
End If

objNetwork.RemovePrinterConnection objPrinter.Name
End If
Next
End If

How to convert a 2000 domain to a 2003 domain with new servers

By: len | On: 09/08/2008 | In: Tech | Comments: 0

Disclaimer: I cannot take credit for all of the information contained in this how to as it is mostly a compilation of many how to documents available on the web. My goal here is to make a more complete how to
 
  • Do a clean install of windows 2003 on your new server install all drivers and windows updates. (always best to begin working with a stable updated platform)
  • Assign the new machine an Ip and subnet in the current domains subnet make sure that the DNS points to the 2000 domains current DNS servers
  • Join the server that will be the future domain controller to the 2000 domain as a member server
  • Do you currently run an exchange 2000 server?
If so you will have to run a special preparation utility or running the ADPREP tool will cause you serious issues.To solve the problem, you must run the inetorgpersonfix.ldf file that is located in \support\ tools\support.cab. This LDIF file fixes the LDAPDisplayName attributes of the three attributes.
1.      First save the inetorgpersonfix.ldf file, then import it using the ldifde utility. Here is an example where we will be importing into the mycorp.com forest:
2.      use this command:
o       ldifde.exe /i /f inetOrgPersonFix.ldf /c "DC=X" "DC=mycorp,DC=com"
o       Note that inetorgpersonfix.ldf uses DC=X as the forest path, which is why we needed to use the /c switch to replace it with our own forest path
 
  • Now we can Prepare the domain for the new 2003 server
Before you can introduce Windows Server 2003 domain controllers, you must prepare the forest and domains with the ADPrep utility.
1.        ADPrep /forestprep on the schema master in your Windows 2000 forest.
2.        ADPrep /domainprep on the Infrastructure Master in each AD domain.
o       ADPrep is located in the i386 directory of the Windows Server 2003 install media
o       Note: In Windows Server 2003 R2, ADPrep is not located in the same folder as in the older Windows Server 2003 media, and instead you need to look for it in the second CD. You see, Windows Server 2003 R2 comes on two installation disks. Installation disk 1 contains a slip-streamed version of Windows Server 2003 with Service Pack 2 (SP2). Installation disk 2 contains the Windows Server 2003 R2 files.
o       The correct version of the ADPrep.exe tool for Windows Server 2003 R2 is 5.2.3790.2075.
o       You can find the R2 ADPrep tool in the following folder on the second CD:
o       drive:\CMPNENTS\R2\ADPREP\ (where drive is the drive letter of your CD-Rom drive)
o       Read more about ADPrep and Windows Server 2003 R2 in KB 917385
  • You are now ready to install active directory. The easiest way to accomplish this is to ad a role to your server. To make it a domain controller and follow through the wizard the installer will do the rest.
  • If you are going to run you dhcp server off of this machine you will want to transfer it by using this how to http://articles.techrepublic.com.com/5100-6345_11-5034284.html
  • Now you must transfer you’re your primary domain controller roles to your new 2003 server here is an exact how to to do this http://www.petri.co.il/transferring_fsmo_roles.htm
  • If you want to migrate user drives or other network shares I suggest Hyena as it will migrate the shares the permissions and everything from one server to the next or you can accomplish this by doing the following
You can then copy and other data and install any other required services on the new DC. Robocopy (from the resource kit) can be used to copy data and retain NTFS security permissions (seehttp://www.ss64.com/nt/robocopyXP.html) or indeed so can xcopy (built in command) see http://www.ss64.com/nt/xcopy.html

To copy the share permissions and details you can use regedit (from the command line) to export the HKLM\System\CurrentControlSet\Services\LanManServer\Shares
key which you can then load into the registry on the new DC.
  • Now it is time to test the new DC shut down the old one and see how the new domain controller handles everything. If all is well move on to the next step
  • Boot up the old domain controller run dcpromo and demote the old 2000 domain controller and uninstall active directory and walla you are done!

55 chevy update

By: len | On: 09/08/2008 | In: Tech | Comments: 0

well heres the latest on the 55. It has been a pretty busy winter and spring for work on the 55. I converted the car from a generator system to a alternator system which was surprisingly inexpensive. Only cost me about 25 dollars for chrome brackets from summit. and the alternator I picked up at the local napafor 45 dollars. Yeah it is not chrome but I figured I would upgrade it later when I had a little more money to spend. the install was pretty strait forward the internet had several helpful how to articles. next thing I did was pick up a electric windshield wiper motor because when I changed to an edelbrock performer intake and carb I lost the vacume due to the engine running so much more efficiently. As everyone knows more efficient = more horse power! But I needed to have the wipers functional in order to pass NYS motor vehicle inspection. the wiper motor cost me 100 shipped thanks to a fellow 55 owner on www.trifive.com The father in law and I had to do a little work on it and fine tune it but it was well woth the price especially since new units cost around 300! My next undertaking was replacing the gas tank and sending unit. I had to do the sending unit as it did not work at all and I ran out of gas last summer due to that luckily I died right in front of a gas station. So since I had to change the sending unit I figured it was the perfect time to change the tank as well. The original tank had a huge dent in it I think someone must have backed into something in the cars past. the tank was made in canada ( I did not want the tiawan knockoff ) and cost me $155 shipped from an ebay seller and came with all needed gaskets and screws. The sending unit was $45 shippped I ended up going with a stainless steel one as it seemed to be made better. the install was easy removing the old tank and installing the new one only took me an hour and a half. However I ran into some bad luck on my first time driving the car this year. I found a fuel leak when filling the car at the fuel filter which was just pouring out gas and when gas is $3.65 a gallon that is not good. Also to make matters worse the starter decided to die on me . I barely made it home. So when I got home I started right in trying to fix the issues. the fuel filter issue was just a piece of rubber fuel line that was dry rotted and easily fixed. the starter was abit more interestiing. I started by trying to remove the starter about 2 and a half hours later the starter was all disconected but I could not get it out with the long tube headers. so after trying everywhich way I could I ended up having to remove the header to get the starter free. So the next day I called no less than 10 places trying to find a mini starter for the car which no one had even summit! well I came home from work a little disheartened after all of that. However I went to a swap meet a couple weeks ago where I traded a pair of chrome valve covers and and air cleaner for an almost new chevy high torque starter however upon getting it home I realized that the starter was the incorect style to bolt into my car. well it seems that during the day my father in law took the snout off of my dead starter and put it on the new starter I got at the swap meet as other than the snout they were identicle accept the new one was high torque. well I installed the starter that night and it worked great. the car starts better than ever. The 55 is back on the road and ready to cruise!

55 chevy gas tank

By: len | On: 09/08/2008 | In: Tech | Comments: 0

I got home from work to find my new fuel tank for the 55 waiting for me on my front porch. I could not help myself I ran in the house took the dog out for a quick walk and changed into my work clothes and headed to the garage to install. Only took me about an hour and a half to install. i took some advice from a fellow forum member and installed the new sending unit I also ordered while the new tank was out. hardest part of the hwole thing was removing the filler neck from the old fuel tank but after a little muscling on it it popped free. I was honestly surprised how easy it was the car being as old as it is and all. took me almost 2 days to replace a sending unit in a 92 explorer a few years back. I guess they just dont make mm like they used to. anyways I put a few gallons of gas in the tank so I could get to the station and fill up and luckily for me there does not seem to be any leaks. I got my tank off of ebay the canadian made tank EHHHH. it was packaged and shipped nicely cost me 155 total including the bolts to install the sending unit as well as all nedded gaskets. great deal! Long story short I now have a working fuel guage and can cruise without keeping the gas can in the trunk this summer Wooohooo

Domain login logging with login scripts

By: len | On: 09/08/2008 | In: Tech | Comments: 218

Any network administrator worth his salt is keeping tabs on his users activity in some way.  Being that i have an education background I live and die by keeping an eye on my end users. So I decided to add a few lines of code to my netowork login scripts to aid in this.

anyone can use the code in this script with their windows domain login scripts just copy and paste it in. The only change you will need to make to the code is the server and share  where the info will be stored.

for /f "tokens=1-3 delims=: "  %%i in ('time /t') do set datime=%%i:%%j %%k
FOR /F "Delims=:  Tokens=2" %%a in ('IPCONFIG^|FINDSTR /I IP') DO FOR /F "Delims=. Tokens=1-4" %%f in ('ECHO %%a') DO set IP=%%f.%%g.%%h.%%i
for /f "tokens=1-4 delims=/- " %%i in ('date /t') do echo %computername%,%IP%,%username%,%datime% >>\\server\loginlogs$\%%j-%%k-%%l.txt

first step is create a share on one of your servers with modify access to everyone. I prefer to use a hidden share in this to keep prying eyes out of the logs.

a new text file will be created every day in the share with the date as the name.

for example  04-04-2008.txt

the output from the script will look exactly lke this

machine name, IP address, username, exact time

computer, 10.1.1.5,joemomma,04:16 PM

you could use utilities to then import this data into a database. this is a very basic first step but will help you keep tabs on those naughty users........


 

Breastfeeding Mother Sentenced to Jail for Postponing Jury Duty

By: len | On: 09/08/2008 | In: Tech | Comments: 0

Summary: MD Woman asked judge if possible to post pone her jury duty until the summer, as she is currently breastfeeding her 12 week old baby.  Judge found her in contempt of court and sentenced either a night in jail or $150 fine.  Brian Frosh, Chair for the Maryland Senate Judicial Proceedings Committee, said the law would cause more people to try to postpone their duties, "If you start saying, we’re gonna excuse people for breastfeeding, you’ve gotta say ok to kidney dialysis, chemotherapy and all the other maladies that afflict the human condition."

Okay, not for nothing, and mind you yes I am pregnant and yes my emotions and hormones are running crazy, but seriously, is this guy the biggest idiot around?  So maybe breast feeding isn't life or death, and there are other options (such as pumping and formula), but I do believe she has a valid reason for postponement.  But Chemo and Dialysis? How can this man sit there and state those are not valid reasons to postpone your duties?  Is the juror's life worth so little? Exposing a cancer patient, whose immune system obviously is not working correctly, to all the germs and people in the court house .. what the hell!! And dialysis? 'I'm sorry madame juror, I understand your kidneys are not working, and yes you are swelling up before my eyes, but hey, that's no excuse now sit down and I expect you to have a clear and unbiased mind as you hear this case.'   Somebody needs to knock some sense into Mr Brian Fosh, and I hope that someday he doesn't need to post pone his jury duty!!