Announcement

Collapse
No announcement yet.

A network question

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • A network question

    I am preparing to inherit a Windows 2000 server based network. It is comprised of multiple workgroups of XP workstations and no proper Active Directory rules as everyone just uses their credentials when they need network share/printer access.

    I am told a 2003 server is coming, so AD and domain logins are coming, problem is I have 130+ PCs in 3 locations but there are XP home machines mixed in and will be replaced if i can get away with it.

    /story

    Question is, is anyone familiar with a non-domain auditing tool that I can use to scan all the 7 workgroups to locate the XP home PCs/whatever? Taking 2 days to visit 3 sites to audit hands on is out of the question..... I might entertain a *nix based tool if available...

    I know of the Microsoft auditing tool but it is domain centered....
    Better to let one think you are a fool, than speak and prove it



  • #2
    What info do you have about those 130+ PCs? If you have all their computer names and/or IPs, you could throw together a WMI script to poll their OS levels. Do they all have consistent Administrator passwords?


    Lady, people aren't chocolates. Do you know what they are mostly? Bastards. Bastard coated bastards with bastard filling. But I don't find them half as annoying as I find naive, bubble-headed optimists who walk around vomiting sunshine. -- Dr. Perry Cox

    Comment


    • #3
      Most PCs are XP, using 1 of 3 local admin passwords......where it is all workgroups on 5 subnets, would scripting work without a logon script?

      the snag i see right off is Home edition dont have and Administrator account, the first user(s) are admin accts
      Last edited by Dilitante1; 21 November 2006, 17:37.
      Better to let one think you are a fool, than speak and prove it


      Comment


      • #4
        You are aware, of course, that you COULD implement AD on Win2k?
        The Internet - where men are men, women are men, and teenage girls are FBI agents!

        I'm the least you could do
        If only life were as easy as you
        I'm the least you could do, oh yeah
        If only life were as easy as you
        I would still get screwed

        Comment


        • #5
          Originally posted by Dilitante1
          Most PCs are XP, using 1 of 3 local admin passwords......where it is all workgroups on 5 subnets, would scripting work without a logon script?

          the snag i see right off is Home edition dont have and Administrator account, the first user(s) are admin accts
          The home edition ones are going to be very tricky, but everything else shouldn't be too much trouble.

          For everything else, and with a little additional code, the script I linked to could be made to iterate through all IPs in the five subnets, once for each password (workgroups don't really matter). You don't need a login script, it's all executed on one machine. The script would attempt to connect to the computer at each IP, and if it's the wrong password, it'll just fail and move on to the next one. Run it two more times and you'll get everything.

          You could also use Gurm's suggestion, to install AD on the W2K server, and write a script to join all the computers to the domain similar to the script above. This still won't help you with the Home edition boxes however. There's really nothing you can do for them without a site visit. There may be a tool out there that can identify them, but that still doesn't mean you'll be able to use that information to do anything useful.

          Anyway, I have some old scripts kicking around that I could hack together to do what I suggested. If you want me to give it a shot, let me know.
          Lady, people aren't chocolates. Do you know what they are mostly? Bastards. Bastard coated bastards with bastard filling. But I don't find them half as annoying as I find naive, bubble-headed optimists who walk around vomiting sunshine. -- Dr. Perry Cox

          Comment


          • #6
            AD and proper logins/roaming profiles come when the new server arrives. The only way to find the Home PCs is comparing script results? with IP scans network wide. Let me get the scans done and I'll take you up on the scripting help.

            Thank you for the assist Agallag
            Better to let one think you are a fool, than speak and prove it


            Comment


            • #7
              Okay, script is ready. To use it, you'll need a text file with the list of IPs (one per line) located in C:\temp. It will dump it's results in C:\temp\results.txt. You can change this behavior by modifying the constants at the top.

              Your IP list can either be every IP from those five subnets, or just the live ones. Use Excel to make the list, it'll take a while to type them all in manually. Also, any inaccessible IPs will make the script run very slowly, as it has to wait for each one to time out.

              You'll also need to run the script using local credentials that match the local admin account on the target machines. So change your local admin password to match the first remote admin password, run the script, then change your local password to the second, and so on.

              Let me know if this is adequate, or if you need any assistance.

              Code:
              'This script can be used to poll a list of IPs
              'and output the details of the OS on each machine
              'The input file should have one IP address per line
              'Results are logged to log file
              'Update the constants below with your specific requirements before executing
              
              'Written by Andrew Gallagher. 2006-11-22.  Version 1.0
              
              Const ForReading = 1
              Const ForAppending = 8
              Const IPList = "c:\temp\ips.txt" 'Enter path to the list of IPs
              Const LogFile = "c:\temp\results.txt" 'Enter path of results log
              
              On Error Resume Next
              
              'Open file with list of IPs
              Set objFSO = CreateObject("Scripting.FileSystemObject")
              Set objTextFile = objFSO.OpenTextFile(IPList, ForReading)
              
              'Start looping through the list
              Do Until objTextFile.AtEndOfStream 
                  IPAddress = objTextFile.Readline 'Read the next line in the file, add to IPAddress variable
              
                'Call PollComputer function and return results to LogResult variable
              
                LogResult = IPAddress & " - " & PollComputer(IPAddress)
              
                'Call WriteLog function to dump the results
                Call WriteLog(LogResult)
              
              Loop
              
              objTextFile.Close 'Close the input file
              
              'Kill objects
              Set objFSO = Nothing
              Set objTextFile = Nothing
              Set objLogFile = Nothing
              Set objWMIService = Nothing
              
              
              '#############################
              'Function PollComputer
              
              Function PollComputer(IPAddress)
              
                  On Error Resume Next
              
              
              strIP = IPAddress
              Set objWMIService = GetObject("winmgmts:" _
               & "{impersonationLevel=impersonate}!\\" & strIP & "\root\cimv2")
               
              Set colOSes = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
              For Each objOS in colOSes
                PollComputer = "Computer Name: " & objOS.CSName & " - Caption: " & objOS.Caption & _
                " - Version: " & objOS.Version & " - Service Pack: " & objOS.ServicePackMajorVersion & _
                "." & objOS.ServicePackMinorVersion
              Next
              
              
              
              End Function
              
              
              
                    
              '#############################
              
              
              '#############################
              'Function WriteLog 
              
                Function WriteLog(LogResult)
              
              	Set objFSO = CreateObject("Scripting.FileSystemObject")
              	Set objLogFile = objFSO.OpenTextFile (LogFile, ForAppending, True)
              
                  objLogFile.WriteLine(LogResult)
              	objLogFile.Close
              
                End Function
              '#############################
              Lady, people aren't chocolates. Do you know what they are mostly? Bastards. Bastard coated bastards with bastard filling. But I don't find them half as annoying as I find naive, bubble-headed optimists who walk around vomiting sunshine. -- Dr. Perry Cox

              Comment


              • #8
                cool and thanks
                Better to let one think you are a fool, than speak and prove it


                Comment

                Working...
                X