Here's a nice VBS to map printers in Windows 2003 GPOs.

Add the script to the GPO, and give it the necessary parameters as per the usage in the comments below.

' PrintersLong.vbs - Windows Logon Script.
' VBScript - to map a network printer
' -----------------------------------------------------------------'
Option Explicit

If WScript.Arguments.Count < 1 Then
 Wscript.Echo "usage: MapPrinter <PrinterShareName> [default]"
    Wscript.Quit(1)
End If

Dim objPrinter, strUNCPrinter
strUNCPrinter = WScript.Arguments(0)
Set objPrinter = CreateObject("WScript.Network")
objPrinter.AddWindowsPrinterConnection strUNCPrinter

If WScript.Arguments.Count > 1 Then
 If WScript.Arguments(1) = "default" Then
  objPrinter.SetDefaultPrinter strUNCPrinter
 End If
End If

WScript.Quit

' mapDrive.vbs
' VBScript to map a network drive.
' ----------------------------------------'
'
Option Explicit

If WScript.Arguments.Count < 2 Then
 Wscript.Echo "usage: mapDrive <DriveLetter> <DriveShareName> [description]"
    Wscript.Quit(1)
End If

Dim objNetwork, strDrive, objShell, objUNC
Dim strRemotePath, strDriveLetter, strNewName

strDriveLetter = WScript.Arguments(0)
strRemotePath = WScript.Arguments(1)

If WScript.Arguments.Count > 2 Then
  strNewName = WScript.Arguments(2)
End If

' Section to map the network drive
Set objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath

' Section which actually (re)names the Mapped Drive
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(strDriveLetter).Self.Name = strNewName

WScript.Quit