THIS SHOULD DO FOR 2000 and XP machines but not NT unless you have the optional WMI package loaded.

Code:
 Function WMIRemoteReboot(Optional $Hostname)
?
? "WMIRemoteReboot: Start"
If $hostname = ""
$hostname = @WKSTA
EndIf
$WMIReboot = GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}!\\$Hostname\root\cimv2")
If @ERROR = 0
$OperatingSystems = $WMIReboot.ExecQuery("Select * from Win32_OperatingSystem")
For Each $OperatingSystem in $OperatingSystems
? "WMIRemoteReboot: Rebooting " + $Hostname
$OperatingSystem.Reboot()
Next
$WMIRemoteReboot = 0
Else
$WMIRemoteReboot = 1
EndIf
? "WMIRemoteReboot: Stop"
EndFunction



Rory