Jump to content

daabm

Expert Member
  • Gesamte Inhalte

    5.670
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von daabm

  1. Invoke-Expression kann das lösen, hast ja selber schon gefunden. Da mußt Du halt passend mit Anführungszeichen arbeiten, dann geht das. Dazu mußt den CSV-Wert dann erst mal auf $ prüfen, wenn nein direkt verarbeiten, wenn ja mit Invoke-Expression den Variableninhalt reinschummeln. Und wenn Du in EINEM Feld gleich mehrere Variablen verwursteln willst, dann mußt Du das vorher in eine Standalone-Variable stecken und dann erst Invoke-Expression mit dieser Standalone-Variablen aufrufen. "Schön" ist aber anders. Ich kann nicht wirklich nachvollziehen, warum ein Input-Datensatz Variablen enthält, die unabhängig vom Input vorher per Skript definiert wurden...
  2. Was Nils meinte: In welcher Verwaltungsoberfläche treibst Du Dich rum? dsa.msc oder ADUC oder xyz?
  3. Definiere erst mal die ursprüngliche Anforderung. Was du oben schreibst, klingt etwas unplausibel... Man "könnte" mit "Deny acces to this computer from the network" arbeiten, aber das kann leicht nach hinten losgehen.
  4. Îch lese bisher nur, daß der Anmeldedienst abstürzt - wenn damit Netlogon gemeint ist: Der ist für die Anmeldung auf einem Member Server mit einem Domain Account irrelevant, das funktioniert auch ohne. Wie sieht es denn "insgesamt" so in den Eventlogs aus?
  5. "View Log" ist ein klickbarer Link - hast da mal reingeschaut? Im GPO-Eventlog steht recht detailiert, was genau wann genau passiert ist... Und da siehst dann auch sehr gut, wo die Zeiten verbraten werden.
  6. ...oder Credential-Objekte bauen für jeden benötigten Share und mit New-PSDrive arbeiten. Viele Wege führen nach Redmond
  7. "Not enforced" ist genauso Standard wie "gpupdate" ohne /force... Edit: Da werden gerne auch mal alle GPOs erzwungen, und dann wundert man sich über die umgedrehte Vererbungsreihenfolge...
  8. GPOs unwirksam zu machen ist das eine. Die zugehörigen Reg-Keys zu überprüfen ist das andere - wenn die nicht per GPO gesetzt wurden, verschwinden sie durch das Entfernen der GPO auch nicht wieder... Da ist Forensik angesagt, und da kann ich per Forum nicht wirklich helfen. Dein Event hat damit eher nichts zu tun.
  9. Der Explorer verhält sich da nicht hanebüchen, sondern "as designed". Kann man umgehen mit der Elevated-unelevated-factory (dann läuft er fröhlich durchaus als Admin), aber das ist dann eine Support-Grauzone. Oder man verwendet generell nicht die Builtin-Admins, sondern erstellt passende Delegationsgruppen mit entsprechenden Rechten - dann ist UAC auch raus. UAC ist eh kein Security Feature, sondern nur "Convenience" (behauptet MSFT)...
  10. Ich würde das nie per Batch machen - zu unflexibel Wir haben mal ein Skriptframework gebaut, das über firmeneigene AD-Attribute und Kontaktobjekte im AD IP- und Netzwerkdrucker konfiguriert (in jede erdenkliche Richtung - inkl. benutzerdefinierter Templates für Standarddruckeinstellungen bei IP-Direktdruck). Mit WMI geht das alles recht problemlos. Nur ist das Verarbeiten der WMI-Ausgaben in Batch eher "Krampf", das geht besser in VBS und noch besser in Powershell. Und wenn Du nicht so viel selbst skripten willst, lohnt sich vielleicht mal ein Blick in C:\WINDOWS\System32\Printing_Admin_Scripts - kann man auch kopieren und adaptieren.
  11. Warum sollte da jemand Schindluder treiben können? Wir haben ein Multimandaten-AD mit über 1000 Mandanten, die können da natürlich auch per dsa.msc/gpmc.msc zugreifen. Jeder sieht nur, was er sehen soll, und er kann nur ändern, was er ändern können soll. Wenn ein Nicht-Admin Schreibzugriff auf AD-Objekte hat, dann habt ihr ganz am Anfang schon was falsch gemacht
  12. "Ich habe keine globalen User-GPOs" wäre hier - siehe Jan - eine Aussage, die ich erst mal überprüfen würde. rsop.msc würde ich allerdings nicht verwenden, das ist seit 16 Jahren "deprecated"
  13. Ich kenne das Format Deines Inputs nicht - aber Export-Csv ist nur dann geeignet, wenn es Objekte erhält mit Properties, die "einfache" Inhalte haben. Einfach heißt "keine Arrays, keine embedded Objects" etc. Dazu solltest Du analysieren, was am Ende Deiner Pipe-Rutsche nach "Select-Object -ExpandProperty innerText" herauskommt. Das muß vermutlich erst mal etwas aufbereitet werden.
  14. Wer auf Nummer Sicher gehen will, ändert den DefaultSD für groupPolicyContainer https://sdmsoftware.com/tips-tricks/modifying-default-gpo-permissions-creation-time/
  15. Ich frage mich, ob "Unterordner von Projekt 1 lesen, aber das Projekt 1 selbst nicht" sinnvoll zu begründen ist. "Keep it simple" wäre meine Devise.
  16. Da gibt es so lustige GPO-Einstellungen, die im Ergebnis dafür sorgen, daß das User-Profil immer nur ein Wegwerf-Profil ist und jedesmal neu erstellt wird. Da würde ich auch mal anfangen zu forschen.
  17. Ich bin berühmt und gefürchtet für meine spontan-kurzen, aber meist treffsicheren Minimalhinweise
  18. Ja wenn Du nur das im File haben willst, warum gibst Du dann nicht auch genau das in das File rein? Vergleiche mal Zeile 3 und Zeile 4/5 von deinem Sample Code - vielleicht fällt es Dir ja selber auf (Spoiler: Zeile 3 macht die Bildschirmausgabe)
  19. Bei RDS-Hosts ist das seit Jahrzehnten das selbe. Falsche lokale Security und der Host ist owned. Das gilt grundsätzlich identisch für Clients. Und zwar mit oder ohne Fast User Switching. Security by obscurity ist halt oldschool, Security by design wäre aktuell
  20. Dann finde raus, welches Anmeldeskript da hängen bleibt.
  21. daabm

    Nochmal GPO

    PCs in Gruppen schieben reicht nicht. Die PCs müssen in einem SOM liegen, der von der GPO abgedeckt wird. SOM? Scope of Management - Domäne, Site oder OU. Irgendwo im OU-Pfad nach oben vom PC aus (nicht von der Gruppe aus) muß die GPO verlinkt sein. Und zu "verschiedenste Regularien - nichts weltbewegendes" hab ich eine völlig andere Meinung. Nichts ist schwieriger, als "verschiedenste Regularien" zu erfüllen. Kein Werkzeug ist dafür geeigneter als GPOs - aber "nichts weltbewegendes" ist das auf keinen Fall. Nicht mal für mich.
  22. daabm

    Nochmal GPO

    Ich hab mich beim Lesen direkt gefragt, was ein "GPO-Projekt" sein könnte - kannst Du das kurz erklären? In einer OU kann man keine Computer "eintragen", die muß man da reinschieben. Und gpresult hilft immer.
  23. Ich hab's jetzt nur mal grob überflogen - und ich bin nicht wirklich zuversichtlich... Da fehlen zu viele Grundlagen nicht nur in Powershell, sondern vor allem in Active Directory. Multi Domain Forest? Kein Problem - kann man sich mit Get-ADForest und Get-ADDomain wunderbar durchhangeln. Beliebig große Umgebung mit Trusts? Auch kein Problem - kann man sich mit Get-ADTrust (oder schneller per LDAP mit Filter auf Trust Objects) durchhangeln. Bei Gruppen und Usern gerne mit -PassThrough arbeiten, damit man mit dem Ergebnis weiterarbeiten kann. Und natürlich immer gegen den PDC der Zieldomäne ( Get-ADDomain -Identity xyz ).PDCEmulator - die meisten Cmdlets nehmen das per -Server als Parameter. Manche wollen (wie z.B. GroupPolicy) auch noch -Domain wissen. Alles kein Hexenwerk, aber dazu braucht's ein Grundverständnis für die Zusammenhänge. Die Cmdlets liefert dann get-command -module activedirctory - oder eine schnelle lmgtfy-Abfrage. Und ohne Testumgebung - das muß ich aufgrund der oben teilweise vorhandenen Hinweise noch mal ausdrücklich betonen - GEHT GAR NICHTS! Nichts löst eine Domäne schneller in Luft auf als ein Skript... Außer einem Abrissbagger, der auf den einzigen DC drischt. Das war das Ergebnis einer Google-Suche, oder? Normalerweise sieht das nämlich so aus: $domain = Get-ADDomain -Current LocalComputer # alternativ -Current LoggedOnUser $domainDN = $Domain.DistinguishedName Da braucht's weder DotNet-Klassen noch Get-ADDomainController (die bei Get-ADDomain ohnehin schon in ReplicadirectoryServers stehen). Das meinte ich mit Grundlagen zum Thema AD - welche Eigenschaften bedeuten was, und in welchen Objekten sind sie zu finden.
×
×
  • Neu erstellen...