Schweizerin
-
Gesamte Inhalte
114 -
Registriert seit
-
Letzter Besuch
Beiträge erstellt von Schweizerin
-
-
Und je nachdem, wie die Namen gepflegt sind, ginge auch net user.
Gruß, Nils
Vielen Dank. Der Befehl
net user USER /domain | find /i "Full Name"
liefert mir die Daten, die ich brauche. :jau:
Die Ausgabe ist im Endeffektk ein String, aus dem ich mir jetzt "nur" noch das extrahieren muss, was ich einzeln benötige. Wie kann ich eine Variable mit der Ausgabe des Befehls belegen, also wie kann ich einer Variable innerhalb eines Batchscripts sagen, dass sie jetzt "Full Name Nachname, Vorname" ist?
-
doch, natürlich. Wie kommst du auf diese Schlussfolgerung?
Kannst du mir dann bitte noch verraten oder Hinweise geben, wie ich Nachname und Vorname von USER mit Bordmitteln abfragen kann?
Naja, wenn du das einfach findest ... es soll ja auch Leute geben, die sich die Hose mit einer Kneifzange anziehen.
Wenn ich User (Login), Nachname und Vorname kenne, dann sind das vier Zeilen Batchcode. Eine Variable aus den Übergabeparametern erzeugen, String bearbeiten, Verzeichnis anlegen, Rechte festsetzen.
Warum kompliziert wenn es auch einfach geht?
-
...hört sich für mich an als ob das Homelaufwerk des Benutzers beim ersten Anmelden angelegt werden soll...
Dann hast du falsch gehört.
Per Batch ist das ziemlich fummelig, aber machbar. Zum Abfragen des AD könntest du dann AdFind von joeware.net nehmen. Für die String-Operationen könntest du mit FOR usw. arbeiten, aber das ist eben der fummelige Teil.Gibt es nix Windows-integriertes für AD-Abfragen auf einem 2008 R2? Wow!
Mittlerweile habe ich herausgefunden, dass das mit den String-Operationen ganz einfach funktioniert. Siehe zum Beispiel: http://www.dostips.com/DtTipsStringManipulation.php
-
Ich benötige ein Skript, welches auf einem 2008 R2 (kein DC) ausgeführt wird und welches ein Verzeichnis in Abhängigkeit vom Nutzer anlegt und Rechte erzeugt. Als Beispiel sei ein Nutzer gegeben:
Login: User
Mehr als das ist mir erst einmal nicht bekannt. Wenn der Nutzer den Nachname Last hat und den Vorname First (entsprechend im AD so eingetragen), dann soll das Skript ein Verzeichnis namens LastF erzeugen und dem User daran ändern-Rechte erteilen.
Für mein Verständis müsste das Skript erst einmal einen gültigen DC ermitteln, damit es Vorname und Nachname abfragen kann (oder kann ich so eine Anfrage einfach "ins AD werfen"?). Danach muss es den Vorname auf den ersten Buchstaben reduzieren, dann das Verzeichnis anlegen und dann noch das ändern-Recht hinzufügen.
Ich würde das als Batch bevorzugen (BAT, CMD). Falls mir jemand Powershell-Code geben will, dann bitte etwas verständlich/ausfüührlich, denn ich habe davon nicht wirklich Ahnung.
Wer kann mir helfen?
-
Du hast allerdings recht, dass ich für jedes Laufwerk eine GPP brauche. Deinen Weg kannte ich noch nicht :confused: Wieder etwas zum testen und wieder dazu gelernt!
Ich kenne das auch erst seit wenigen Monaten und habe mich vorher mit zu vielen GPOs und deren unendlichen Verknüpferei an OUs beschäftigt.
Warum dein Weg (Sicherheitsfilterung auf der ersten Seite) aber sicherer sein sollte als ILT verstehe ich nicht. Bei mir hat jeder Ordner (oder Drucker) eine eigene Sicherheitsgruppe und wem ich einen Laufwerksbuchstaben an diesem Ordner vergeben will, der bekommt den nur dann per ILT zugewiesen, wenn er Mitglied der Ordnerberechtigungsgruppe ist. Wo übersehe ich da eine (und sei es nur eine haarspaltende) Sicherheitslücke (wenn die Delegierung der GPO auf Domänencomputer gestellt ist und die Sicherheitsfiltreung alle auth. User erlaubt)?
-
Ich habe es jetzt verstanden.
Und jetzt kann ich auch noch mal sagen, dass man (mit Ausnahme des Sonderfall: MultiTennant Active Directory) der Computergruppe Domänencomputer (oder einer anderen geeigneten Computergruppe) unter dem Reiter Delegierung Leserechte zuweisen sollte. Denn spätestens wenn ein Admin wieder an den Security Filtering rumbastelt und da keine Computergrupe steht, dann klappt wieder alles zusammen.
-
Rate mal, wer ebenfalls Authentifizierter Nutzer ist. Richtige Antwort: Domänencomputer. ;)
Ja schon. Aber warum erwähnt dann Microsoft explizit "If you are using security filtering, add the Domain Computers group with read permission."? Irgend einen Grund muss es doch haben beim EInsatz von Security Filtering statt auf Authentizierte Benutzer auf Domänencomputer zu setzen!?
-
Weil ich diese Benutzer aus der "Sicherheitsfilterung" (erste Lasche der GPP) raus geschmissen habe und dort eine Gruppe von Usern bzw. einzelne User eingetragen habe.
Denn diese Richtlinie soll NUR für bestimmte User oder Gruppen von Usern gelten für z.B. Drucker- oder Laufwerkszuweisungen!
Das macht man bei Laufwerken aber viel besser direkt in der Laufwerkszuordnung. Zweiter Reiter "Common" und dann Haken bei "Item Level Targeting" setzen. Anschließend auf Targeting klicken. Dort links oben "New Item" und dann "Security Group" auswählen (oder was auch immer, da kann man auch OUs und alles möglichen Krempel als Bedingungen auswählen), selbige auswählen und gut ists. Dann gilt diese Laufwerkszuordnung innerhalb der GPO nur für bestimmte Leute. Da muss man nicht umständlich pro Sicherheitsgruppe eine GPO anlegen, so wie du das scheinbar machst.
-
Zwei fertige Skripte gibt es in Beitrag #13 in www.mcseboard.de/topic/207538-gpp-wird-seit-gestern-nur-bei-authentifizierten-benutzer-übernommen/
Verstanden habe ich einiges zwar immer noch nicht, aber das ergibt sich vielleicht noch.
-
Ich kann nur sagen, dass ich NUR "Authentifizierte Benutzer" mit Leseberechtigung in die Delegierung hinzugefügt habe und alles war wieder Paletti ;)
Dann würde ich sagen, du nutzt kein Security Filtering. Und wenn du in ein paar Monaten/Jahren Security Filtering nutzen willst, dann wirst du dir einen Wolf suchen, weil es nicht funktioniert. Also warum nur die halbe Lösung umsetzen und nicht die, die immer funktioniert?
Überhaupt verstehe ich nicht, warum bei vielen "Authentifizierte Benutzer" fehlen. Bei mir sind die überall vorhanden (war mal eine 2003er Domäne, die jetzt 2008 R2 ist). Wurden die "Authentifizierte Benutzer" gelöscht?
-
Falsch.
Entweder "Domänencomputer" oder "Authentifizierte Benutzer".
Woher nimmst du diese Gewissheit? Ich interpretiere "This issue may occur if the Group Policy Object is missing the Read permissions for the Authenticated Users group or if you are using security filtering and are missing Read permissions for the domain computers group." und "Add the Authenticated Users group with Read Permissions on the Group Policy Object (GPO). If you are using security filtering, add the Domain Computers group with read permission." so:
Wer GPOs nutzen will, muss sie lesbar für "Authentifizierte Benutzer" machen. Wer aber GPOs zusammen mit security filtering nutzen will, muss "Domänencomputer" Leserechte geben.
Da lese ich kein entweder oder.
Habe ich falsch übersetzt oder habt ihr schlampig gelesen?
Das Originalskript jetzt so modifiziert, dass es Domänencomputer mit Leserechten hinzufügt, damit man Security Filtering nutzen kann:
# deutsche Version $allGPOs = get-gpo -all foreach ($gpo in $allGPOs) { # first read the GPO permissions to find out if Authn Users and Domain Computers is missing $perm1 = Get-GPPermissions -Guid $gpo.id -TargetName “Domänencomputer” -TargetType group -ErrorAction SilentlyContinue if ($perm1 -eq $null) # if no domain computers is found, then add Domänencomputer read perm { Set-GPPermissions -Guid $gpo.Id -PermissionLevel GpoRead -TargetName “Domänencomputer” -TargetType Group Write-Host $gpo.DisplayName “has been modified to grant Domänencomputer read access” } }
Und die englische Version:
# english Version $allGPOs = get-gpo -all foreach ($gpo in $allGPOs) { # first read the GPO permissions to find out if Authn Users and Domain Computers is missing $perm1 = Get-GPPermissions -Guid $gpo.id -TargetName “Domain Computers” -TargetType group -ErrorAction SilentlyContinue if ($perm1 -eq $null) # if no domain computers is found, then add Domain Computers read perm { Set-GPPermissions -Guid $gpo.Id -PermissionLevel GpoRead -TargetName “Domain Computers” -TargetType Group Write-Host $gpo.DisplayName “has been modified to grant Domain Computers read access” } }
-
Da gibts auch ein Skript verlinkt, was das geradezieht. ;)
Schau dir im Link mal das Skript an, das macht das alles automagisch.
Schön wärs.
Das Skript im ZIP-File unter https://sdmsoftware.com/group-policy-blog/bugs/new-group-policy-patch-ms16-072-breaks-gp-processing-behavior/ kann nicht funktionieren, weil es den Befehl Get-GPPermission nicht gibt (zumindest nicht auf meinem 2008 R2). Der heißt richtig Get-GPPermissions (mit "s" hinten dran). Wenn ich das dann angepasst habe (ebenso Set-GPPermission s), dann läuft das Skript duch, aber es passiert gar nichts.
Und noch einmal die Frage:
Richtig oder falsch: Bei Delegation muss noch "Domönencomputer" mit lesen rein? (wegen: If you are using security filtering, add the Domain Computers group with read permission.)
"Führe mal irgendein Skript aus udn stelle nicht zu viele Fragen!" ist nicht die richtige Antwort.
ACHTUNG!
Englisches AD!
Muss "Authentifizierte Benutzer" und "Domänencomputer" heißen!
Und siehe da, nach allen Fehlerkorrekturen sieht es dann so aus:
$allGPOs = get-gpo -all foreach ($gpo in $allGPOs) { # first read the GPO permissions to find out if Authn Users and Domain Computers is missing $perm1 = Get-GPPermissions -Guid $gpo.id -TargetName “Authentifizierte Benutzer” -TargetType group -ErrorAction SilentlyContinue $perm2 = Get-GPPermissions -Guid $gpo.id -TargetName “Domänencomputer” -TargetType group -ErrorAction SilentlyContinue if ($perm1 -eq $null -and $perm2 -eq $null) # if no authn users or domain computers is found, then add Authn Users read perm { Set-GPPermissions -Guid $gpo.Id -PermissionLevel GpoRead -TargetName “Authenticated Users” -TargetType Group Write-Host $gpo.DisplayName “has been modified to grant Authenticated Users read access” } }
Das läuft zumindest durch (und ändert bei mir rein gar nichts). Jetzt weiß ich immer noch nicht, was mit "If you are using security filtering, add the Domain Computers group with read permission." ist, das Skript ändert daran ja nichts. Ich nutze security filtering und wüsste gern, was deswegen noch zu tun ist.
-
Moin,
hier findet sich ein Ansatz:
[Delegating Permissions to Group Policy Objects using PowerShell | SweeneyOps]
Gruß, Nils
Bei
$group = $(get-adgroup “GPO-Admins”).sAMAccountName
haut er mir als Fehler
Get-ADGroup : Cannot find an object with identity: 'GPO-Admins' under: 'DC=domain,DC=tld'.
raus. Was mache ich falsch (und ja, ich habe von Powershell nicht wirklich Ahnung)?
-
Ja, das verstehst du nicht falsch. ;)
Dann habe ich es wohl falsch verstanden.
1. Bei Security-filtering steht "Authenticated Users" mit lesen drin. (war schon immer so)
2. Bei Delegation steht "Authenticated Users" mit lesen drin. (war schon immer so)
Richtig oder falsch: Bei Delegation muss noch "Domönencomputer" mit lesen rein? (wegen: If you are using security filtering, add the Domain Computers group with read permission.)
-
Nur so als andere Idee eventuell auch in anderen Fällen:
Wir hatten eine Teststellung um ca 500M per Laser zu überbrücken. Da lief stabil Gigabit drüber.
Also Licht statt Funk.
Wie läuft das dann bei Nebel, Schnee und Regen? Das würde mich wirklich mal interessieren.
-
KB3163622 bzw. KB3159398 ist wie der WSUS-Zerstörer KB3159706 ein Update, dass man KEINESFALLS installieren sollte, ohne vorher den KB-Artikel gelesen zu haben.
"Resolution
To resolve this issue, use the Group Policy Management Console (GPMC.MSC) and follow one of the following steps:
Add the Authenticated Users group with Read Permissions on the Group Policy Object (GPO).
If you are using security filtering, add the Domain Computers group with read permission."Ich habe letzteres Problem (using security filtering) in einem großen Nnetzwerk. Wie erteile ich für die Domain-Computer Leserechte für Hunderte GPOs?
-
Ich habe ein DFS eingerichtet. Auf dem einen Server sind in dem Verzeichnis 5344 Dateien, auf dem Replikat drei Dateien weniger. Wie finde ich heraus, welche Dateien fehlen?
Leider vergleichen die meisten Tools die Dateien byteweise, was bei ein paar hundert Megabyte und hunderten Ordnern über eine WAN-Verbindung unmöglich ist. Ich will lediglich auf die Existenz einer Datei in zwei Ordnern prüfen, nicht ob sie links und rechts byteweise identisch ist.
WinMerge vergleicht byteweise. FreeFileSync zeigt mir nur identische Dateien, aber keine fehlenden Dateien.
Wer kann etwas empfehlen?
-
2. Tagge deine Dateien korrekt den Tags "Titel", "Interpret", "Album" und ganz wichtig "Album-Interpret". Ich benutze dafür die kostenlose Software MP3Tag.
Warum sollte man neben Interpret "ganz wichtig" auch Album-Interpret pflegen? Das ist doch unnötige Datenredundanz.
-
Höchstwahrscheinlich wirst du das schlicht nicht brauchen weil ihre diese Funktion nicht nutzt.
Wenn "es nicht gebraucht wird, wieso sagen die WSUS-Clients dann dem WSUS-Server, dass sie es brauchen?
Und wenn sie es brauchen, warum installieren sie es dann nicht, obwohl es zur Installation freigegeben ist?
Gleicher Unsinn (soll heißen Clients "brauche" es, aber installieren es nicht) in KB 3118714, KB3119598 und KB3116097 (alle OOBE-Updates und alle sind unabhängig voneinander). KB3118401 (Update for Universal C Runtime in Windows) wollen auch alle Clients mit Windows 10 und WIndows 8.1 haben, aber die 10er installieren es einfach nicht.
-
Dann ändert man eben die Domain im O365.
Das geht wo in der Webverwaltung der O365-Administration?
-
Ist doch relativ einfach, wenn Mans mit "zwang" durchsetzt. Mx Record auf den on Premise Exchange für die o365 Domain und die Domain als authoriv setzen. Damit geht keine Weiterleitung mehr zu Office 365. die Emailadressen vorher natürlich ebenfalls in Premise anlegen.
Stimmt, die Weiterleitungen zu Office365 sind damit hinfällig.
Aber was ist, wenn ein Office365-Kunde eine E-Mail an eine @sub.domain.tld-Adresse der Office365-Accounts schickt? Der Office365-Exchange denkt doch, er sei für @sub.domain.tld zuständig, also versucht er die E-Mail intern bei sich selber zuzustellen. Wie verhindere ich das?
Möglicherwqeise verstehe ich aber auch einfach nicht, was du mit "Domain als authoriv setzen" meinst.
-
Woran hab ich nicht gedacht?
Das nicht der Admin das Problem sein könnte, sondern die Geschäftsführung.
Ich würde die Finger von dem Auftrag lassen.
-
Kleine Ergänzung; wenn ich mit Firefox auf die SP-Seite gehe und Dateien öffne, funktioniert alles wie es soll. Internet Explorer und Edge zeigen das oben genannte Fehlverhalten.
Warum nimmt man dann nicht einfach den Firefox?
-
Ja, tun sie. Sollen sie aber nicht.
Sie sollen das "interne" Exchange-Postfach nutzen und ihre alte Office365-Mail-Adresse auf die "interne" Exchange-Adresse umleiten, bis die Subdomain auf den internen Exchange-Server umgezogen wurde, und sie sollen ihre Daten vom Office365-Postfach ins "interne" Exchange-Postfach holen.
Batch/Powershell: Verzeichnis mit Rechten in Abhängigkeit vom Username anlegen
in Windows Forum — Scripting
Geschrieben
Beim testen ist mir aufgefallen, dass ich das Verzeichnis besser Nachname_Vorname nennen sollte (will man bei Nachname_V bleiben, dann bereinigt man den Vorname mittels set vorname=%vorname:~0,1% Allerdings bleibt dann bei "Hans Peter" nur H übrig). Das sieht dann ohne Fehlerbehandlung so aus (es wird nur ein Parameter %1=USER übergeben):
Vielen Dank für die Tipps!
Letzte Frage: Wie kann ich dafür sorgen, dass am Ende des Skripts alle Variablen wieder gelöscht sind. Einzeln geht es mit set variable= Gibt es einen pauschalen Weg alle gesetzten Variablen zu löschen?