locked
GPResult.exe: Der Benutzer Benutzername hat keine RSOP-Daten. | Alternative? RRS feed

  • Frage

  • Servus zusammen,

    ich habe ein Problem beim Abrufen der RSOP-Daten in einem Powershell-Script.
    In diesem Script werden einige Dinge geprüft, darunter auch, ob der Client Mitglied in einer bestimmten Sicherheitsgruppe ist und eine Gruppenrichtlinie angewendet hat. 

    Dabei habe ich mich zunächst auf den Command gpresult verlassen: gpresult /S Computername /SCOPE COMPUTER /R  
    Anfangs funktionierte das auf einem Testclient, wie sich herausstellte aber nur, weil dort mein Benutzer mal angemeldet war.

    Auf allen Clients, auf denen der Befehl abgefeuert wird und "mein" Benutzer noch nie angemeldet war, kommt die Fehlermeldung "INFO: Der Benutzer "Domain\User" hat keine RSOP-Daten." zurück - obwohl ich ja durch "/SCOPE COMPUTER" eigentlich gar keine benutzerbezogenen Daten erhalte...

    Kennt jemand eine Möglichkeit zu checken, ob ein gewisser Client Mitglied einer Sicherheitsgruppe ist und oder eine bestimmte Gruppenrichtlinie angewendet hat?

    PS: Es handelt sich um Computerrichtlinien in dem GPO. Dieses hat eine Sicherheitsfilterung auf die abzufragende Sicherheitsgruppe. Mit dem PS-CMDlet "Get-GPResultantSetOfPolicy" kommt die gleiche Fehlermeldung.


    Vielen Dank vorab!

    Montag, 22. August 2016 13:48

Antworten

  • Moin,

    nun denn. Es scheint "by design" so zu sein, dass GPResult Ergebnisse verweigert, wenn ein Kontextwechsel vorgenommen wird und der Zeilkontext noch nie angemeldet war. Ergo: Einen Kontext suchen, der schon mal angemeldet war (z.B. Get-ChildItem \\COMPUTERXYZ\C$\Users und dann irgendwie so filtern, dass man weiß, ob lokal oder Domäne. Oder vielleicht weißt Du aus anderen Quellen, wer sich dort schon mal angemeldet hat - Accounts der Software-Verteilung werden z.B. gern genommen ;-))

    Und dann - Kontextwechesl und Feuer frei - GPRESULT /S COMPUTERXYZ /R /SCOPE:COMPUTER /USER:<gefundenernUser>

    In meinem Test hat der reine Username ohne Domäne funktioniert, man kann also die Unterordnernamen aus C:\Users direkt nehmen.


    Evgenij Smirnov

    msg services ag, Berlin -> http://www.msg-services.de
    my personal blog (mostly German) -> http://it-pro-berlin.de
    Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
    Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com

    In theory, there is no difference between theory and practice. In practice, there is.

    • Als Antwort markiert JannikD Mittwoch, 24. August 2016 08:24
    Dienstag, 23. August 2016 11:13

Alle Antworten

  • Kennt jemand eine Möglichkeit zu checken, ob ein gewisser Client Mitglied einer Sicherheitsgruppe ist und oder eine bestimmte Gruppenrichtlinie angewendet hat?

    Aus dem AD abfragen?

    (Get-ADComputer COMPUTERXYZ -Properties memberOf).memberOf

    Zum Thema GPO-Anwendung gibt das natürlich keine Auskunft. Da kannst Du aber versuchen, gpresult ebenfalls remote auszuführen:

    gpresult /S COMPUTERXYZ /SCOPE COMPUTER /R


    Evgenij Smirnov

    msg services ag, Berlin -> http://www.msg-services.de
    my personal blog (mostly German) -> http://it-pro-berlin.de
    Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
    Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com

    In theory, there is no difference between theory and practice. In practice, there is.


    Montag, 22. August 2016 16:29
  • Hallo Evgenij,

    danke für die Antwort.
    1) Deine Antwort ist richtig, aber auch nur auf den Text, den du zitiert hast... Tut mir leid, wenn es nicht verständlich rüber gekommen ist, aber das Problem ist, dass ich prüfen muss, ob der Client das Ganze auch mitbekommen hat, bzw. nach dem Hinzufügen in die Sicherheitsgruppe auch den Neustart erledigt hat, um für das zugehörige GPO mit Computerrichtlinien berechtigt zu sein und dieses anwenden zu können. Allein die Gruppenmitgliedschaft juckt hier nicht wirklich. Ich muss das also irgendwie direkt oder indirekt vom Client selber abrufen.

    2) Den Befehl "gpresult /S Computer /SCOPE COMPUTER /R" habe ich wie bereits beschrieben ausprobiert. Es scheitert an den nicht vorhandenen RSOP Daten für den ausführenden Account bei Clients, die dieses Benutzerprofil nicht geladen haben.

    Dienstag, 23. August 2016 05:50
  • Moin,

    nun denn. Es scheint "by design" so zu sein, dass GPResult Ergebnisse verweigert, wenn ein Kontextwechsel vorgenommen wird und der Zeilkontext noch nie angemeldet war. Ergo: Einen Kontext suchen, der schon mal angemeldet war (z.B. Get-ChildItem \\COMPUTERXYZ\C$\Users und dann irgendwie so filtern, dass man weiß, ob lokal oder Domäne. Oder vielleicht weißt Du aus anderen Quellen, wer sich dort schon mal angemeldet hat - Accounts der Software-Verteilung werden z.B. gern genommen ;-))

    Und dann - Kontextwechesl und Feuer frei - GPRESULT /S COMPUTERXYZ /R /SCOPE:COMPUTER /USER:<gefundenernUser>

    In meinem Test hat der reine Username ohne Domäne funktioniert, man kann also die Unterordnernamen aus C:\Users direkt nehmen.


    Evgenij Smirnov

    msg services ag, Berlin -> http://www.msg-services.de
    my personal blog (mostly German) -> http://it-pro-berlin.de
    Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
    Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com

    In theory, there is no difference between theory and practice. In practice, there is.

    • Als Antwort markiert JannikD Mittwoch, 24. August 2016 08:24
    Dienstag, 23. August 2016 11:13
  • Servus,

    danke für die Antwort. Deine Idee ist echt gut!

    Ich filtere nun die Benutzerordner auf dem Zielrechner unter C:\users nach Service-Accounts, Admins etc. und frage alle übrigen nach einem AD-User ab. Wer einen hat, wird als Benutzer für die RSOP Daten benutzt. Somit stelle ich sogar prinzipiell sicher, dass der Computer personalisiert ist.

    Herzlichen Dank!

    Mittwoch, 24. August 2016 08:24