Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Basisordner via PowerShell setzen

Frage Microsoft Windows Server

Mitglied: r00t-1337

r00t-1337 (Level 1) - Jetzt verbinden

04.02.2014, aktualisiert 06.02.2014, 6764 Aufrufe, 18 Kommentare, 3 Danke

Hallo Zusammen,

ich habe ein Problem mit dem erstellen des Basisordners unter Server 2008 r2.

Den Basisordner setze ich bei allen Benutzern mit dem Befehl:

Get-ADUser -Filter * -SearchBase "OU=Test,DC=TEST,DC=LAN" | foreach {Set-ADUser $_ -StreetAddress "Teststreet 14" -City "Hamburg" -Department "Test" -PostalCode "52147" -company "TEST" -ProfilePath $null -ScriptPath $null -HomeDrive "P" -HomeDirectory "\\Server\vol2\home\$($_.Samaccountname)"}

Das ganze wird auch korrekt im AD-Konto angezeigt:

b7d4ed71328f7e49881337e390bf6f86 - Klicke auf das Bild, um es zu vergrößern

Jedoch wird der Ordner nicht unter \\Server\vol2\home\ mit dem vn.nn des Benutzers erstellt.

Gehe ich jetzt ins AD-Konto des Users rein, und klicke hier nochmal auf den Basisordner und verändere ein Zeichen und klicke auf übernehmen wird der Ordner unter \\Server\vol2\home\vn.nn angelegt ...

Jemand eine Idee ob es hier noch einen Befehl gibt damit der Ordner auch gleich angelegt wird mit Vollzugriff für den jeweiligen Benutzer?

Vielen Dank schonmal!
Mitglied: LennyLinux
04.02.2014 um 14:15 Uhr
Hallo r00t-1337,

der Befehl an sich funktioniert so. Ich habe in meiner Schatzkiste nachgesehen und einen Link aus dem technet von MS gefunden.

http://blogs.technet.com/b/heyscriptingguy/archive/2013/06/06/creating- ...

Mit diesen Informationen habe ich damals ein Tool programmiert, welches über ein WebGui Benutzer anlegen kann. Hier hat auch das mit dem Homelaufwerk gepasst.

Falls du noch Infos brauchst, immer melden.

Grüße
Lenny Linux
Bitte warten ..
Mitglied: colinardo
04.02.2014 um 14:21 Uhr
Hi,
wenn du anstatt den Usernamen in deinem Befehl aufzulösen, die Variable %username% im Homepfad verwendest, sollte der Ordner von Windows normalerweise automatisch angelegt werden.
http://blog.alekel.de/homeverzeichnis-und-profil-automatisch-anlegen/
"\\Server\vol2\home\%username%"}
Grüße Uwe
Bitte warten ..
Mitglied: r00t-1337
04.02.2014 um 14:43 Uhr
Hi und danke für die Antworten.

@colinardo - ich habe meinen Befehl mal so umgeändert:

Get-ADUser -Filter * -SearchBase "OU=Test,DC=TEST,DC=LAN" | foreach {Set-ADUser $_ -StreetAddress "Teststreet 14" -City "Hamburg" -Department "Test" -PostalCode "52147" -company "TEST" -ProfilePath $null -ScriptPath $null -HomeDrive "P" -HomeDirectory "\\Server\vol2\home\%username%"}

Es steht dann zwar im jeweligen AD-Konto der Pfad so drinnen. \\Server\vol2\home\%username%
jedoch wird der Ordner immer noch nicht angelegt. Erst wenn ich ins Konto gehe, etwas verändere und auf OK klicke legt er Ihn entsprechend an.


@LennyLinux - geht das nicht auf direktem Wege mit einem zusätzlichen Parameter in PowerShell?



Besten Dank1
Bitte warten ..
Mitglied: colinardo
04.02.2014, aktualisiert um 14:45 Uhr
Zitat von r00t-1337:
Es steht dann zwar im jeweligen AD-Konto der Pfad so drinnen. \\Server\vol2\home\%username%
jedoch wird der Ordner immer noch nicht angelegt. Erst wenn ich ins Konto gehe, etwas verändere und auf OK klicke legt er Ihn entsprechend an.
Wird erst beim ersten Anmelden des Users an der Domäne erstellt ...
Bitte warten ..
Mitglied: LennyLinux
04.02.2014 um 14:55 Uhr
Habe mal gebastelt:

Die Variablen $UserName; $HomePath musst du nur entsprechend anpassten.

Bsp: $UserName = "testuse" $HomePath = "\\Server\vol2\home\

New-Item -Name $UserName -ItemType Directory -Path $HomePath | Out-Null
Set-ADUser $UserName -HomeDirectory "$HomePath\$UserName" -HomeDrive P:


getestet auf einem WindowsServer 2k8 r2 mit powershell 1.2
Bitte warten ..
Mitglied: LennyLinux
04.02.2014 um 14:58 Uhr
Was ich noch bemerkt habe:

Spitzelt da eine 10.* hinter der Verschleiherung hervor?

Ich kann dir nur empfehlen die entrpechenden FQDN einzutragen.

Grüße

Lenny
Bitte warten ..
Mitglied: r00t-1337
04.02.2014, aktualisiert um 15:03 Uhr
Hi, danke ...

Kann dir gerade nicht folgen, beim Anmelden in der Domäne mit dem Befehl:

Get-ADUser -Filter * -SearchBase "OU=Test,DC=TEST,DC=LAN" | foreach {Set-ADUser $_ -StreetAddress "Teststreet 14" -City "Hamburg" -Department "Test" -PostalCode "52147" -company "TEST" -ProfilePath $null -ScriptPath $null -HomeDrive "P" -HomeDirectory "\\Server\vol2\home\%username%"}

klappt es nicht. Der Ordner wird nicht erstellt.

Was meinst du mit "Die Variablen $UserName; $HomePath musst du nur entpsrechen anpassen ... ? Wie würde denn das mit deinem Vorschlag dann in diesem Befehl lauten?:

Get-ADUser -Filter * -SearchBase "OU=Test,DC=TEST,DC=LAN" | foreach {Set-ADUser $_ -StreetAddress "Teststreet 14" -City "Hamburg" -Department "Test" -PostalCode "52147" -company "TEST" -ProfilePath $null -ScriptPath $null -HomeDrive "P" -HomeDirectory "\\Server\vol2\home\$($_.Samaccountname)"}

oder in diesem:

Get-ADUser -Filter * -SearchBase "OU=Test,DC=TEST,DC=LAN" | foreach {Set-ADUser $_ -StreetAddress "Teststreet 14" -City "Hamburg" -Department "Test" -PostalCode "52147" -company "TEST" -ProfilePath $null -ScriptPath $null -HomeDrive "P" -HomeDirectory "\\Server\vol2\home\%username%"}


Danke
Bitte warten ..
Mitglied: r00t-1337
04.02.2014 um 15:04 Uhr
Zitat von LennyLinux:

Was ich noch bemerkt habe:

Spitzelt da eine 10.* hinter der Verschleiherung hervor?

Ich kann dir nur empfehlen die entrpechenden FQDN einzutragen.

Grüße

Lenny

Jupp 10. folgt dann ...
Bitte warten ..
Mitglied: LennyLinux
04.02.2014, aktualisiert um 15:14 Uhr
Zitat von r00t-1337:
Was meinst du mit "Die Variablen $UserName; $HomePath musst du nur entpsrechen anpassen ... ? Wie würde denn das mit
deinem Vorschlag dann in diesem Befehl lauten?:

Get-ADUser -Filter * -SearchBase "OU=Test,DC=TEST,DC=LAN" | foreach {Set-ADUser $_ -StreetAddress "Teststreet
14" -City "Hamburg" -Department "Test" -PostalCode "52147" -company "TEST"
-ProfilePath $null -ScriptPath $null -HomeDrive "P" -HomeDirectory "\\Server\vol2\home\$($_.Samaccountname)"}

oder in diesem:

Get-ADUser -Filter * -SearchBase "OU=Test,DC=TEST,DC=LAN" | foreach {Set-ADUser $_ -StreetAddress "Teststreet
14" -City "Hamburg" -Department "Test" -PostalCode "52147" -company "TEST"
-ProfilePath $null -ScriptPath $null -HomeDrive "P" -HomeDirectory "\\Server\vol2\home\%username%"}

was dir fehlt ist der Befehl zum anlegen des Directorys im FileSystem. Deswegen ist der Ordner auch nicht da.

Uwe hat schon recht, dass die Erstellung des Ordners bei erstmaliger Anmeldung an der Domäne stattfindet. Wenn das nicht so sein soll, musst den Ordner mit dem Befehl

New-Item -Name $UserName -ItemType Directory -Path $HomePath | Out-Null

extra anlegen.

Ich hoffe ich konnte dir helfen.
Bitte warten ..
Mitglied: colinardo
04.02.2014, aktualisiert um 15:15 Uhr
Zitat von LennyLinux:
Habe mal gebastelt:
das würde ich lieber lassen, dann ist nämlich nicht der User der Besitzer des Ordners sondern der Account mit dem das Script ausgeführt wurde ... wenn schon dann bitte mit Set-ACL und Konsorten die Rechte richtig setzen.

wenn man es wie oben schon gesagt macht wird der Ordner automatisch beim ersten Anmelden des Users erstellt und die Rechte sitzen entsprechend korrekt !
Bitte warten ..
Mitglied: LennyLinux
04.02.2014 um 15:16 Uhr
Zitat von colinardo:

das würde ich lieber lassen, dann ist nämlich nicht der User der Besitzer des Ordners sondern der Account mit dem das
Script ausgeführt wurde ... wenn schon dann bitte mit Set-ACL und Konsorten die Rechte richtig setzen.

Hallo Uwe,

das ist natürlich klar. Die Berechtigungen müssen entsprechend mitgegeben werden.

Sollte kein Pfusch werden nur eine Hilfestellung.
Bitte warten ..
Mitglied: r00t-1337
04.02.2014 um 15:35 Uhr
Hi Zusammen,

teilweise, bin aber was PowerShell angeht ein echter Neuling weswegen ich mir teilweise schwer tue euch gleich zu folgen.

Wo würde SET-ACL denn im Skript angegeben werden?

"was dir fehlt ist der Befehl zum anlegen des Directorys im FileSystem. Deswegen ist der Ordner auch nicht da.

Uwe hat schon recht, dass die Erstellung des Ordners bei erstmaliger Anmeldung an der Domäne stattfindet. Wenn das nicht so sein soll, musst den Ordner mit dem Befehl

New-Item -Name $UserName -ItemType Directory -Path $HomePath | Out-Null

extra anlegen.

Ich hoffe ich konnte dir helfen."

-> Mit der Domänenanmeldung wird der Ordner bei mir nicht angelgt, was dann aber wahrscheinlich am falschen Befehl liegt nehme ich an?

Get-ADUser -Filter * -SearchBase "OU=Test,DC=TEST,DC=LAN" | foreach {Set-ADUser $_ -StreetAddress "Teststreet
14" -City "Hamburg" -Department "Test" -PostalCode "52147" -company "TEST"
-ProfilePath $null -ScriptPath $null -HomeDrive "P" -HomeDirectory "\\Server\vol2\home\%username%"}

Sry ...
Bitte warten ..
Mitglied: r00t-1337
04.02.2014 um 16:05 Uhr
Oder die "Deppen-Methode" machen, via PowerShell ändern mit:

Get-ADUser -Filter * -SearchBase "OU=Test,DC=TEST,DC=LAN" | foreach {Set-ADUser $_ -StreetAddress "Teststreet
14" -City "Hamburg" -Department "Test" -PostalCode "52147" -company "TEST"
-ProfilePath $null -ScriptPath $null -HomeDrive "P" -HomeDirectory "\\Server\vol2\home\%username%"}

und dann wenn die jeweilige OU umgestellt wird in jedes Konto rein gehen, ein Buchstaben bei Verbinden mit hinzufügen, diesen Buchstaben wieder löschen und das ganze mit OK bestätigen ...
Bitte warten ..
Mitglied: colinardo
LÖSUNG 04.02.2014, aktualisiert 06.02.2014
01.
$users = Get-ADUser -Filter * -SearchBase "OU=Test,DC=TEST,DC=LAN" 
02.
 
03.
foreach($user in $users){ 
04.
    Set-ADUser $user -StreetAddress "Teststreet 14" -City "Hamburg" -Department "Test" -PostalCode "52147" -company "TEST" -ProfilePath $null -ScriptPath $null -HomeDrive "P" -HomeDirectory "\\Server\vol2\home\%username%" 
05.
  
06.
    # Ordner anlegen 
07.
    $folder = new-item -Path "\\Server\vol2\home\$($user.Samaccountname)" -ItemType Dir -Force 
08.
 
09.
    # ACL des Ordners holen 
10.
    $acl = get-acl $folder.FullName 
11.
     
12.
    # Neue Access Rule erstellen und dem Ordner hinzufügen 
13.
    $objACE = New-Object System.Security.AccessControl.FileSystemAccessRule($user.UserPrincipalName,"FullControl","ContainerInherit,ObjectInherit","None","Allow") 
14.
    $acl.AddAccessRule($objACE) 
15.
 
16.
    # Besitzer des Ordners setzen 
17.
    $acl.SetOwner([System.Security.Principal.NTAccount]"$($user.UserPrincipalName)") 
18.
 
19.
    # neue ACL des Ordners speichern 
20.
    Set-Acl $folder.FullName -AclObject $acl 
21.
}
Bitte warten ..
Mitglied: r00t-1337
04.02.2014 um 16:34 Uhr
Danke dir!!!

*Niederknien*

Ich melde mich sobald ich es probiert habe.
Bitte warten ..
Mitglied: r00t-1337
05.02.2014 um 09:12 Uhr
@ colinardo - danke dir dein Skript funktioniert super!

Nur eine Sache bei der Windows-Anmeldung mit einem Test User ist der Ordner angelegt, die ACL korrekt gesetzt, der Pfad im AD-Konto zum Basisordner vorhanden - ABER das Laufwerk wird bei der Anmeldung nicht gemappt.

Hier vll. noch eine Idee?


Danke schonmal!
Bitte warten ..
Mitglied: colinardo
05.02.2014, aktualisiert um 09:28 Uhr
Ist der Serverpfad \\Server\vol2\home überhaupt freigegeben ?
Dort die Rechte korrekt gesetzt?
Laufen irgendwelche zusätzlichen Anmeldescripte die mit net use * /del vorher alle Mappings entfernen ?
Bitte warten ..
Mitglied: r00t-1337
05.02.2014 um 09:33 Uhr
Sorry ich rudere zurück.

Bei XP wird es nicht verbunden bei Win 7 schon.

Mhh ... seltsam ansonsten ein logonskript einbinden.
Bitte warten ..
Ähnliche Inhalte
Windows Server
PowerShell Script - Ordnerrechte setzen
Frage von desmondjamesWindows Server7 Kommentare

Hallo Community, ich bitte um Hilfe. Ich bin nicht so fit in Powershell, benötige aber ein Script. Ich habe ...

Windows XP
Powershell: Registry-Wert setzen
gelöst Frage von AnkhMorporkWindows XP10 Kommentare

Hallo zusammen, Win XP, 32 bit, SP3, Patchstand tagesaktuell PS 2.0 Ich versuche die Auslagerungsdatei in der Registry neu ...

Batch & Shell
Powershell - Registrywert setzen
gelöst Frage von DaniBatch & Shell2 Kommentare

Guten Abend zusammen, ich versuche in der Windowsregistry einen Key wie diesen anzulegen: Dazu habe ich folgenden Code entworfen: ...

Exchange Server
Powershell Abwesenheitsnotiz für Gruppe setzen
Frage von 124611Exchange Server3 Kommentare

Guten Morgen, ich würde gerne mit meinem Powershellskript folgendes machen wollen: - Es soll eine Textvorlage in alle Postfächer ...

Neue Wissensbeiträge
MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 5 StundenMikroTik RouterOS4 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 5 StundenSicherheit

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Information von admtech vor 8 StundenAdministrator.de Feedback9 Kommentare

Hallo Administrator User, mit dem Release 5.7 haben wir unsere Startseite überarbeitet und die Beiträge und Fragen voneinander getrennt. ...

Vmware

VMware Desktopprodukte sind verwundbar

Information von Penny.Cilin vor 13 StundenVmware

Die VMware-Anwendungen zum Umgang mit virtuellen Maschinen Fusion, Horizon Client und Workstation sowie die Plattform NSX sind verwundbar. Davon ...

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Frage von ahstaxVisual Studio24 Kommentare

Hallo, ich möchte gerne ein vb.net-Tool schreiben, das am Ende eine Outlook-E-Mail erzeugt. Grundsätzlich ist mir klar, wie das ...

Windows Netzwerk
Netzwerk Neustrukturierung
Frage von IT-DreamerWindows Netzwerk16 Kommentare

Hallo verehrte Community und Admins, bei uns im Haus steht eine Neustrukturierung an. Dafür benötige ich von euch ein ...

Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server16 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...