jimpiet
Goto Top

Remote den Benutzertyp eines Users herausfinden

Moin,

wenn man unter Windows 7 in die erweiterten Systemeinstellungen geht und dort unter Benutzerprofile auf Einstellungen klickt, kann man ja den Typ eines Benutzers herausfinden. Geht dies auch remote?
Knackpunkt ist, dass es sich z.T. auch um Win95 & 98 PCs handelt, sowie XP und Win7, welche über einen PDC auf Mac OSX Server verwaltet werden.
Kann man sowas per WMI herausfinden?

Viele Grüße

Content-ID: 204739

Url: https://administrator.de/contentid/204739

Ausgedruckt am: 08.11.2024 um 20:11 Uhr

colinardo
colinardo 10.04.2013 aktualisiert um 13:47:17 Uhr
Goto Top
Hi JimPiet,
ich denke du meinst ob ein Benutzer ein "Administrator" ist oder ein "Standardbenutzer".
Dafür könntest du folgenden Befehl in einer Batch nutzen: (Benutzername der abgefragt werden soll in Zeile 1 ändern)
set BENUTZERNAME=USER
set USERTYPE=NORMAL
for /f "tokens=2 delims=*" %%i IN ('net user %BENUTZERNAME% ^| findstr "\*.*"') DO @(  
   if "%%i" == "Administraors" (set USERTYPE=ADMIN)  
)
echo %BENUTZERNAME% ist vom Typ '%USERTYPE%'  

Das Script kann man dann z.B. so erweitern das es mit PSEXEC auf dem Remote-System ausgeführt wird.

noch eine Methode mit VBS:
strComputer = "."  
username = "DeinUser"  
usertype = "NORMAL"  
Set colGroups = GetObject("WinNT://" & strComputer & "")  
colGroups.Filter = Array("group")  

For Each objGroup In colGroups
    For Each objUser in objGroup.Members
        If objUser.name = username Then
            If objGroup.Name = "Administrators" Then  
            	usertype = "ADMIN"  
            End If
        End If
    Next
Next

WScript.Echo "Benutzer " & username & " ist vom Typ: " & usertype  
Grüße Uwe
DerWoWusste
DerWoWusste 10.04.2013 um 14:57:00 Uhr
Goto Top
Hi.

Und noch was zur Info: auf win95/98/ME waren die Nutzertypen nicht differenziert - alle hatten volle Rechte.
JimPiet
JimPiet 10.04.2013 um 15:06:22 Uhr
Goto Top
Moin Uwe,

das ist denke ich auch gar nicht verkehrt, aber ich meinte, ob der User ein lokales Profil oder ein servergespeichertes Profil hat.

Viele Grüße
colinardo
colinardo 10.04.2013 aktualisiert um 17:40:05 Uhr
Goto Top
Ach so, sorry ...zu schnell gelesen.
Scheint nur über eine Windows-Funktion der userenv.dll zu gehen:
http://social.technet.microsoft.com/Forums/en-US/winservergen/thread/ef ...

back-to-topVB.Net Code:
Imports System
Module MainModule
    <System.Runtime.InteropServices.DllImportAttribute("userenv.dll", EntryPoint:="GetProfileType")> _  
    Public Shared Function GetProfileType(ByRef pdwflags As UInteger) As Boolean 
    End Function

    Sub Main()
    
        Const PT_LOCAL As UInteger = 0
        Const PT_TEMPORARY As UInteger = 1
        Const PT_ROAMING As UInteger = 2
        Const PT_MANDATORY As UInteger = 4
        
        Dim ProfileType As UInteger
        GetProfileType(ProfileType)
        
        Select Case ProfileType
        Case PT_LOCAL
            Console.WriteLine("Local Profile")  
        Case PT_ROAMING
            Console.WriteLine("Roaming Profile")  
        Case PT_TEMPORARY
            Console.WriteLine("Temporary Profile")  
        Case PT_MANDATORY
            Console.WriteLine("Mandatory Profile")  
        End Select
                
     End Sub

End Module

Hier eine kompilierte Konsolen-Applikation(.Net 2.0) mit dem Code > Download

Grüße Uwe
colinardo
colinardo 10.04.2013 aktualisiert um 17:52:50 Uhr
Goto Top
Über die Registry scheint es doch noch eine Möglichkeit zu geben:
http://www.pcreview.co.uk/forums/purpose-state-key-located-users-profil ...
JimPiet
JimPiet 11.04.2013 um 09:55:02 Uhr
Goto Top
Super, danke, werde ich mal ausprobieren!