Uzyskaj listę profili użytkowników na komputerze lokalnym i w domenie

4

Czy istnieje sposób, albo przez PowerShell, partii, C #, aby uzyskać listę wszystkich profili aktualnie na komputerze lokalnym. Muszę zebrać listę profili i pokazać, czy są to użytkownicy lokalni, czy użytkownicy domeny i do jakiej domeny też należą.

Jak pokazano na zrzucie ekranu poniżej, Microsoft ma okno „Profile użytkownika”, które jest dokładnie tym, czego szukam, z tym że chciałbym go zautomatyzować i pobrać ze skryptu lub czegoś innego.

Nie udało mi się znaleźć niczego, co działałoby jednocześnie.

Próbowałem uzyskać połączenie uzyskiwania informacji o lokalnym profilu przez WMI lub przez rejestr, aby uzyskać informacje.

Użyłem obu

win32_UserProfile

i

win32_UserAccount

Jednak UserProfile podaje mi tylko ścieżki do profili użytkowników, bez informacji o domenie. UserAccount zwraca wszystkie AD, nawet podczas próby ich odfiltrowania według SID, ale zajmuje dużo czasu.

PS>Get-WmiObject -Class win32_userprofile | select localpath, SID

localpath                                 SID                                            
---------                                 ---                                            
C:\Users\TestUser1                        S-1-5-21-440147649-543696746-2340718013-21890  
C:\Users\Admin                            S-1-5-21-4226746363-32877083-2456121708-500    
C:\Users\TestUser2                        S-1-5-21-1876808186-3675847616-1704270002-46278
C:\Windows\ServiceProfiles\NetworkService S-1-5-20                                       
C:\Windows\ServiceProfiles\LocalService   S-1-5-19                                       
C:\Windows\system32\config\systemprofile  S-1-5-18

Moja kolejna próba polegała na wykorzystaniu informacji z WMI i załadowaniu gałęzi rejestru użytkowników i uzyskaniu z nich domeny, jednak nie mogłem znaleźć żadnych przydatnych informacji, gdy gałąź rejestru użytkowników jest załadowana. Zauważyłem, że jeśli bieżący użytkownik jest zalogowany, jest tam klucz do „Środowiska niestabilnego” (zrzut ekranu poniżej), który zawiera wszystkie potrzebne informacje, ale jest dostępny tylko wtedy, gdy ten użytkownik jest zalogowany, nie ładuje ula ręcznie.

Gdzie jeszcze mogę znaleźć te informacje?

Aktualny użytkownik, zmienne środowisko:

wprowadź opis zdjęcia tutaj

Okno dialogowe profilu użytkownika systemu Windows:

wprowadź opis zdjęcia tutaj

Skint007
źródło
1
Czy to możliwe: absolutnie możliwe. Więc czego próbowałeś? Nie jesteśmy usługą pisania skryptów. Edytuj swoje pytanie i nie sugeruj, że nic nie próbowałeś.
Ramhound,
Nie proszę o napisanie scenariusza, ale o wskazanie właściwego kierunku. Jak powiedziałem, próbowałem uzyskać informacje z WMI i rejestru, a te wydają się nie mieć tych informacji, których szukam, nie jestem pewien, gdzie jeszcze szukać.
Skint007,
Nie będziemy w stanie skierować cię w tym kierunku, jeśli przynajmniej nie pójdziesz w tym kierunku. Rozwiązaniem problemu jest zapytanie lokalnych użytkowników, którzy istnieją na komputerze, a następnie zapytanie użytkowników domeny, którzy istnieją na komputerze. Następnie łączysz dwie listy
Ramhound