Pages

Monday, February 13, 2012

PacketTrap pt360 Tool Suite

PacketTrap pt360 Tool Suite is a free and very helpful piece network diagnostic software.

It has all sorts of tools. These tools include a switch port mapper, a MAC scanner, an SNMP scanner, and even a TFTP server.

The easiest way to get the software is to do a Google search for PacketTrap pt360 ToolSuite Pro. Once you install it it will ask you for a username/password or to create an account for the license. Don't worry, it is free and once you get signed up, they will give a license that is good for about 30 years.

Unable to install printer. The print processor does not exist.

I had a Windows Server 2008 print server lose about half of its shared printers. When I tried to reinstall a missing printer, I got an error message stating "Unable to install printer. The print processor does not exist."


I did a quick search and found that this is caused by a corrupted printer driver. I uninstalled the printer driver and installed a freshly downloaded one. I reinstalled the printer and selected Install New Printer Driver. I named the printer the same thing as it was before and all the users were able to print again.


To recap go to:


  • Start
  • Control Panel
  • Printer & Faxes
  • Add a New Printer
  • Start Hardware Wizard
  • Reinstall the Printer Driver (do not use existing)
  • Finish the Hardware Wizard
  • Test Print (if you like)

List Printers Installed in the User Profile on a Remote Machine

I came across the vbscript below when I was working on an issue with a print server. Came in handy when it came time to reinstall missing printers on the server. The script works for Windows XP, I have not tested it with Windows Vista or 7.


'Script By Tommriddle 2010 - List All Network printers installed in the profile of a user on a remote machine.
forceUseCScript
Sub forceUseCScript()
 
Set oShell = CreateObject("Wscript.Shell")
   If Not WScript.FullName = WScript.Path & "\cscript.exe" Then
      oShell.Run "cmd.exe /k " & WScript.Path & "\cscript.exe //NOLOGO " & Chr(34) & WScript.scriptFullName & Chr(34),1,False
      WScript.Quit 0
   End If
End Sub
strComputer=inputbox("Enter PC Name")
CU=GetCurrentUser(strComputer)
CUSID = GetSIDFromUser(CU)
strKeyPath = CUSID & "\Printers\settings"
 
'Enumerate Registry Values
'http://www.activexperts.c...istry/#EnumRegVals.htm
Const HKEY_USERS = &H80000003
const REG_SZ = 1
const REG_EXPAND_SZ = 2
const REG_BINARY = 3
const REG_DWORD = 4
const REG_MULTI_SZ = 7
 
Set StdOut = WScript.StdOut
 
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
strComputer & "\root\default:StdRegProv")
 
oReg.EnumValues HKEY_USERS, strKeyPath, arrValueNames, arrValueTypes
 
For i=0 To UBound(arrValueNames)
    StdOut.WriteLine "Printer: " & arrValueNames(i)
    StdOut.Writeline "User: " & CU
    StdOut.WriteBlankLines(1)
Next
 
'-----------------------------------------------------------------------
 
Function GetCurrentUser(strComputer)
'Input: strComputer = machine to query
'Output: Current User as domain\logon
'Only works on XP/W2003
   on error resume next
   Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
   Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'explorer.exe'")
   For Each objProcess in colProcessList
      objProcess.GetOwner strUserName, strUserDomain
   Next
   GetCurrentUser = strUserDomain & "\" & strUserName
   if err<> 0 then
      Msgbox " Error accessing remote machine"
      wscript.quit
   end if
   on error goto 0
End Function
 
'-----------------------------------------------------------------------
 
Function GetSIDFromUser(UserName)
'Input: UserName as domain\logon
'Output: SID
'http://groups.google.com/...t/msg/1bd0d208ef41dda7
   Dim DomainName, Result, WMIUser
   If InStr(UserName, "\") > 0 Then
      DomainName = Mid(UserName, 1, InStr(UserName, "\") - 1)
      UserName = Mid(UserName, InStr(UserName, "\") + 1)
   Else
      DomainName = CreateObject("WScript.Network").UserDomain
   End If
   On Error Resume Next
   Set WMIUser = GetObject("winmgmts:{impersonationlevel=impersonate}!" _
      & "/root/cimv2:Win32_UserAccount.Domain='" & DomainName & "'" _
         & ",Name='" & UserName & "'")
   If Err = 0 Then Result = WMIUser.SID Else Result = ""
   On Error GoTo 0
   GetSIDFromUser = Result
End Function
 
'-----------------------------------------------------------------------

Wednesday, February 1, 2012

Limit What Computers That A User Can Login To

To limit/restrict what computers a user is allows to login on a Active Directory domain, you first need to open Active Directory Users and Computers.

Next, find the user that you want to limit/restrict and open the Users Properties. Click on the Account tab and then click the "Log On To..." button.

A "Logon Workstations" window will appear. Under "This user can log on to:", select the option "The following computers". Type in the computer name and then click on "Add". Click OK twice and you should be all set.