Since I'm a lazy sod, I have many methods of unobtrusively doing things on user's computers that they are mostly oblivious to (such as service packing, and reinstalling antivirus, etc) without leaving the comfort of my desk.
The most useful utilities on the planet for an administrator have to be the
PSTools from
SysInternals. I usually extract the utils to my Windows folder for convenience. I use the 'psexec' utility a LOT!
This is even more useful if you're a domain admin on a central domain, however if you're in a workgroup environment, this can still work with a bit of fiddling.
First thing you'll want to do is to put your service pack download into an easily accessible place, like a central file server that you can get to with a simple UNC path.
Then create a batch file similar to the following:
Code:
@echo off
rem Optional parameters: /forcerestart /forceappsclose
echo Transferring Service Pack
if exist "\\domain.co.za\sw$\path\WindowsXP-KB936929-SP3-x86-ENU.exe" (copy "\\domain.co.za\sw$\path\WindowsXP-KB936929-SP3-x86-ENU.exe" c:\) else echo Service Pack not found!
echo Installing Service Pack
if exist c:\WindowsXP-KB936929-SP3-x86-ENU.exe (c:\WindowsXP-KB936929-SP3-x86-ENU.exe /quiet %2 %3 %4 %5) else echo Local copy of Service Pack not found!
Adjust paths and filenames as necessary. Cunningly, I call this batch file instsp3.bat, and I put it in an easily accessible UNC location. It could be in the same location as your service pack file. Note, my environment has multiple locations with a central DFS share, so it's intended to pull the file from the location nearest to the computer I'm installing the SP on.
Now, in order to service pack a machine, you need a remote command prompt. You do this via psexec, like so (It's usually easier to run this straight from your own command prompt, so you can see exit messages etc):
psexec \\remotemachine -u domain\username "C:\Windows\System32\cmd.exe"
You will be prompted for your password. Enter it, and the connection will begin.
If all is successful, you will be presented with your bog standard command prompt.
There's just some caveats to mention - DON'T press CTRL+C, it will kill PSEXEC. Some interactive utilities just won't work - like edit. Any command that accepts commandline parameters will be fine.
In this case, all you want to do is to execute the batch file you create (and saved centrally) earlier.
So, at your remote command prompt, type \\server\uncpath\instsp3.bat and hit enter (If the path has spaces, surround the entire command line with double quotes: ").
Voila - the SP will be copied locally, and will then install. You may be returned to prompt, but don't worry, the service pack install is running in the background. You can confirm this by running 'tasklist' to view the running processes. You should see a 'setup.exe' IIRC.
You can wait awhile for the SP to install - but this can take a long time on some machines, or you can schedule a reboot (or perhaps you've specified /forcerestart in the patch command line) and then exit psexec and do this over again on another machine.
To schedule a reboot, say for 8pm (should give enough time for the SP to install), execute: at 20:00 shutdown /f /r /t 0
Then type 'exit' to quit the remote command prompt.
This is just a guide on ONE way to do it, but maybe it sparks some ideas of the awesome things you can do with psexec.
EDIT: Oh - and if you install the SP from the 'network administrator download' - you shouldn't have key issues
