5 Replies Latest reply on Sep 16, 2010 11:20 AM by Andy74

    existiert ein bestimmer lokaler Benutzer

    Andy74 Expert
      Hallo zusammen,

      Ich suche eine Möglichkeit um festzustellen, ob ein bestimmter lokaler Benutzer auf dem Rechner schon vorhanden ist.

      Hat irgend jemand eine Idee dazu ?
        • 1. Re: existiert ein bestimmer lokaler Benutzer
          Michi Expert
          Hi,

          mit dem Befehl "net user > userlist.ini" kannst Dir ein ini Files mit allen lokalen Usern erzeugen lassen.
          Mit IfLineExist kannst dann die ini Abfragen und bei Erfolg z.B. ne Mail verschicken lassen, oder User löschen bzw. anlegen.

          Gruß,
          Michi
          • 2. Re: existiert ein bestimmer lokaler Benutzer
            Andy74 Expert
            Oh, da muss man erst mal drauf kommen, dass es so einfach ist

            Aber ganz so einfach ist es dann doch nicht, da in einer Zeile mehrere Benutzernamen ausgegeben werden.


            Benutzerkonten fr \\Testrechner

            -------------------------------------------------------------------------------
            Administrator            Testuser                  ASPNET                  
            Gast                    
            Der Befehl wurde erfolgreich ausgefhrt.




            Ich habs jetzt mit einem VBS-Script gelöst:

            PopUpName = "Debug Info"
            set shell = CreateObject("WScript.shell")



            strComputer = "."

            Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

            Set colAccounts = objWMIService.ExecQuery _
                ("Select * From Win32_UserAccount Where LocalAccount = True And Name = 'Testuser'")

            For Each objAccount in colAccounts
                ni_lokaladmin = "OK"
               
                ' Debuging
                ' returncode = shell.popup (ni_lokaladmin,,PopUpName)
               
                NiSetVar "lokaladmin",ni_lokaladmin
               
               
            Next



            Dann eben in einem ENTEO Script entsprechend weiter verarbeiten

            CallScript('.\Extern$\akadmin.vbs')/TW
            If %lokaladmin%='OK'
            MsgBox
              Testuser ist vorhanden
            • 3. Re: existiert ein bestimmer lokaler Benutzer
              Andy74 Expert
              Noch besser ohne VBS


              net user >C:\Temp\user.ini
              findstr /i /C:"Testuser" C:\Temp\user.ini >nul && @echo Gefunden!
              • 4. Re: existiert ein bestimmer lokaler Benutzer
                map Specialist

                Noch besser ohne VBS


                net user >C:\Temp\user.ini
                findstr /i /C:"Testuser" C:\Temp\user.ini >nul && @echo Gefunden!


                Noch besser ohne tempfile und als Einzeiler, wofür gibt es Pfeifen:

                net user|findstr /i /C:"Testuser">NUL && (@echo Testuser da) || (@echo kein Testuser)


                Alerdings kriegt man den Rückgabewert aus dem .vbs eleganter zurück ins netinstall als aus einem Batch.
                • 5. Re: existiert ein bestimmer lokaler Benutzer
                  Andy74 Expert
                  Jup, danke. Der Einzeiler ist natürlich noch eleganter.

                  Leider hab ich in der Vergangenheit schon das ein oder andere mal Probleme mit WMI Abfragen gehabt. Haben einfach sporadisch nicht funktioniert.

                  Von daher erscheint mir der DOS-Batch etwas sicherer.