I use an if / then statement in our logon script to deply clients. The same structure could be used while making an exception for any o/s other than XP.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Determine OS
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
OS = WshProcessEnvironment("OS"

If OS <> "Windows_NT" Then
OS = "Win32"
WshLogonServer = "\\<Domain Controller>"
WshLogonPath = WshLogonServer & "\netlogon"
WshInstall = WshLogonPath & "\Bin\"
EnvWinDir = WshProcessEnvironment("windir"

WshSys32 = EnvWinDir & "\system\"
End If
If UseNTServer = "yes" Then
If OS = "Windows_NT" Then
WshLogonServer = WshShell.ExpandEnvironmentStrings("%LOGONSERVER%"

WshSysRoot = WshShell.ExpandEnvironmentStrings("%SYSTEMROOT%"

WshLogonPath = WshLogonServer & "\netlogon"
WshInstall = WshLogonPath & "\Bin\"
EnvWinDir = WshProcessEnvironment("windir"

WshSys32 = EnvWinDir & "\system32\"
End If
Else
If OS = "Windows_NT" Then
If WshShell.RegRead ("HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions\ProductType"

= "WinNT" Then
WshLogonServer = WshShell.ExpandEnvironmentStrings("%LOGONSERVER%"

WshSysRoot = WshShell.ExpandEnvironmentStrings("%SYSTEMROOT%"

WshLogonPath = WshLogonServer & "\netlogon"
WshInstall = WshLogonPath & "\Bin\"
EnvWinDir = WshProcessEnvironment("windir"

WshSys32 = EnvWinDir & "\system32\"
Else
Dim Box
Box = MsgBox ("Will NOT run WSH Login Script on a Windows NT Server - Exiting Logon Script!", 64, "Login to " & RHCMASTER)
WScript.Quit
End If
Else
'
End If
End If
Hope that helps
