Fehlender Dateiabgleich nach Anlegen von AD-Usern mit PowerShell
Hallo zusammen,
ich habe ein kleines Script geschrieben, um in einer Datei gespeicherte neue User im AD aufzunehmen. Das ganze soll auf einem Windows Server 2019 und Windows 10 Clients laufen. Das Script läuft auch fehlerfrei und legt die User weitgehend ordnungsgemäß an.
Hier zunächst das Script und dann meine Frage
Nun die Einschränkung und meine Frage:
Das Homeverzeichnis auf dem Server wird ordnungsgemäß angelegt, der User sollte dieses dann als Netzlaufwerk U: sehen und seine Profildaten dort gespeichert werden.
1) Leider ist weder das Netzlaufwerk U: vom Client aus zugänglich, noch
2) erfolgt ein Abgleich der lokal erzeugten Dateien oder des Desktops.
Vlt. kann mir jemand mit mehr PowerShell-Kenntnissen helfen den Fehler zu finden und zu beseitigen.
Vorab vielen Dank für die Möglichkeiten, die man hier hat.
ich habe ein kleines Script geschrieben, um in einer Datei gespeicherte neue User im AD aufzunehmen. Das ganze soll auf einem Windows Server 2019 und Windows 10 Clients laufen. Das Script läuft auch fehlerfrei und legt die User weitgehend ordnungsgemäß an.
Hier zunächst das Script und dann meine Frage
<#Userdaten in einer Textdatei in folgender Form
blobib0101;Bibi;Blocksberg;Dadada01
Diese Daten werden in $NewADUsers eingelesen und anschließend hieraus der neue Account kreiert
#>
# Hier der Teil für das Erzeugen des neuen Accounts:
foreach ($User in $NewADUsers)
{ if ($User -ne "") {
$Spalten = $User.Split(";")
$Username = $Spalten
$Firstname = $Spalten[1]
$Lastname = $Spalten[2]
$Password = ConvertTo-SecureString $Spalten[3] -AsPlainText -Force
$Department = "gruppe_test"
$OU = "test"
#Check if the user account already exists in AD
if (Get-ADUser -Filter {SamAccountName -eq $Username}) {
Write-Warning "Ein UserAccount $Username existiert bereits im Active Directory."
}
else {
$nADName = "$Firstname $Lastname"
$dADName = "$Firstname $Lastname"
$uADName = "$Username@<Domänenname>"
$fullPath = "<Angabe des UNC-Pfades auf dem Server>\$Username"
$driveLetter = "U:"
New-ADUser -SamAccountName $Username `
-UserPrincipalName $uADName `
-Name $nADName `
-GivenName $Firstname `
-Surname $Lastname `
-Enabled $True `
-ChangePasswordAtLogon $false `
-DisplayName $dADName `
-Department $Department `
-Path "OU=test,DC=...,DC=..." ` # Angabe von OU und DC
-AccountPassword $Password `
-HomeDrive $driveLetter `
-HomeDirectory $fullPath
# User zur lokalen Guppe hinzufügen
Add-ADGroupMember -Identity gruppe_test -Members ($Username) –Verbose
# Homeverzeichnis anlegen nach
# https://www.active-directory-faq.de/2016/01/powershell-home-directory-anlegen-und-
# berechtigungen-vergeben/
$actUser = Get-ADUser -Identity $Username
Set-ADUser $Username -HomeDrive $driveLetter -HomeDirectory $fullPath
$homeShare = New-Item -Path $fullPath -ItemType Directory -Force
$acl = Get-Acl $homeShare
$FileSystemRights = [System.Security.AccessControl.FileSystemRights]"Modify"
$AccessControlType = [System.Security.AccessControl.AccessControlType]::Allow
$InheritanceFlags = [System.Security.AccessControl.InheritanceFlags]"ContainerInherit, ObjectInherit"
$PropagationFlags = [System.Security.AccessControl.PropagationFlags]"InheritOnly"
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule(`
$actUser.SID,$FileSystemRights,$InheritanceFlags,$PropagationFlags,`
$AccessControlType)
$acl.AddAccessRule($AccessRule)
Set-Acl -Path $homeShare -AclObject $acl
}
}
}
Nun die Einschränkung und meine Frage:
Das Homeverzeichnis auf dem Server wird ordnungsgemäß angelegt, der User sollte dieses dann als Netzlaufwerk U: sehen und seine Profildaten dort gespeichert werden.
1) Leider ist weder das Netzlaufwerk U: vom Client aus zugänglich, noch
2) erfolgt ein Abgleich der lokal erzeugten Dateien oder des Desktops.
Vlt. kann mir jemand mit mehr PowerShell-Kenntnissen helfen den Fehler zu finden und zu beseitigen.
Vorab vielen Dank für die Möglichkeiten, die man hier hat.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 2978148339
Url: https://administrator.de/contentid/2978148339
Ausgedruckt am: 19.11.2024 um 11:11 Uhr
11 Kommentare
Neuester Kommentar
Moim.
Laufwerk nicht gemappt oder Fehlermeldung beim Zugriff bzw. fehlende Rechte?
Geht denn der Zugriff via UNC?
lg,
Slainte
1) Leider ist weder das Netzlaufwerk U: vom Client aus zugänglich, noch
Bedeutet?Laufwerk nicht gemappt oder Fehlermeldung beim Zugriff bzw. fehlende Rechte?
Geht denn der Zugriff via UNC?
2) erfolgt ein Abgleich der lokal erzeugten Dateien oder des Desktops.
Das hat auch mit dem HomeDrive nix zu tun. Das macht man entweder per Folder Redirection (per GPO) oder per RoamingProfile.lg,
Slainte
1) Ausschluss fehlendes Mapping, hierzu wurde hinter Zeile 63 eingefügt
Was macht das denn für einen Sinn im User-Anlage Script ein LW zu mappen?!Und das hier:
Sie haben keine Berechtigung für den Zugriff auf UNC-Pfad
ist die Wurzel deines Problems. Kein Zugriff auf den UNC == kein gemapptes Laufwerk.Manuell habe ich die Berechtigungsebene für den User blobib0101, wie bei anderen funktionierenden Accounts auf Lesen/Schreiben gesetzt. Dies lieferte das gewünschte Ergebnis, also das gemappte und zugreifbare Netzlaufwerk U.
Dann setz doch die Rechte im Script auf aus R/W, dann sollte das doch passen.
Dir ist klar, des es unterschiedliche Rechte für die Freigabe und das darunterliegende Dateisystem gibt, ja?
Und: du gibst ja nicht alle Userordner einzeln frei, sondern i.d.R. ein Verzeicinis auf dem Server in dem dann alle User Homes liegen
Freigabe: \\server\home (=Auf dem Dateisystem: d:\home)
Freigabe-Rechte: jeder: lesen/schreiben
Eintrag im AD-User
HomeDrive U:
HomePath \\Server\home\%usernanme%
=Auf dem Dateisystem: d:\home\%username%, dort %username%: lesen/schreiben, admin: lesen/schreiben und Vererbung aus.
Und: du gibst ja nicht alle Userordner einzeln frei, sondern i.d.R. ein Verzeicinis auf dem Server in dem dann alle User Homes liegen
Freigabe: \\server\home (=Auf dem Dateisystem: d:\home)
Freigabe-Rechte: jeder: lesen/schreiben
Eintrag im AD-User
HomeDrive U:
HomePath \\Server\home\%usernanme%
=Auf dem Dateisystem: d:\home\%username%, dort %username%: lesen/schreiben, admin: lesen/schreiben und Vererbung aus.