Jump to content

otonashi

Members
  • Gesamte Inhalte

    12
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von otonashi

  1. vor 5 Stunden schrieb magheinz:

    Und morgen lesen wir dann das es eine Fehlermeldung gibt weil \\SERVER\SHARE nicht gefunden werden...

    lustig jetzt haben alle gelacht^^, wenn du mich für so unwissend oder dumm hältst dann spare dir bitte deine Kommentare in diesem Thread.
    Wenn du konstruktive Beiträge hast kannst du sie gern hier lassen aber aber so einen Müll kannst du dir echt sparen.

  2. vor 2 Stunden schrieb MurdocX:

    Machs Dir einfach.. Nimm das und lass es immer mal laufen. ;-)

    
    Get-ADUser -Filter * | Where-Object { $_.Enabled -eq $true } | Select-Object -ExpandProperty SamAccountName | ForEach-Object { If( (Test-Path -Path "\\SERVER\SHARE\$_") -eq $false){ New-Item -Path "\\SERVER\SHARE\$_" -ItemType Directory }}

     

    Danke dir ich probiere es morgen mal aus :) und gebe Feedback dazu

     

    Gruß

     

    Patrick

  3. Am 25.9.2018 um 17:23 schrieb magheinz:

    Wäre es nicht einfacher die konkrete Aufgabenstellung zu posten? 

    Prinzipiell ist das doch ein zweizeiler

    New-Item -Itemtype Directory - Patch \\share\$USERNAME

    und mit

    New-PSDrive -Name "H" -PSProvider "FileSystem" -Root "\\share\$USERNAME "

     

    jeweils ein try und catch drumrum und fertig.

     

    Obs sinnvoll ist das mit ein Loginscript zu machen sei mal dahingestellt. 

    Die Frage die sich mir dazu stellt ist, wenn ich am ende des Pfades ......\$USERNAME nehme nimmt er dann automatisch den eingeloggten user? oder muss ich bei jedem einzelnd den Username da eintragen? Wenn ja dann ist es nicht das gewünschte ergebnis?

  4. vor 16 Stunden schrieb NilsK:

    Moin,

     

    das ist ja genau das, was ich meine: Erzeugen des Ordners genau einmal in dem Moment, in dem der User neu angelegt wird (Skript 1). Verbinden des existierenden Ordners beim Logon des Benutzers (Skript 2). Das kann man durchaus per PowerShell machen, aber wenn man sich damit nicht auskennt, ist Batch einfacher.

     

    Skript 1:

    • Angabe des Usernamens und ggf. weiterer Details
    • Erzeugen des Users im AD (PS: New-ADUser, Batch: net user oder dsadd user)
    • Erzeugen des Home-Ordners in einer bestehenden Freigabe, ggf. mit Berechtigungen

    Skript 2:

    • Verbinden des Homes mit der Angabe der übergeordneten Freigabe und der Systemvariable %username%, ist per PowerShell und Batch ähnlich einfach; Beispiele wirst du im Web viele finden

    Gruß, Nils

    PS. es wäre nett, wenn du auf Lesbarkeit deiner Beiträge achtest und grundlegende Zeichensetzung und Groß- und Kleinschreibung einsetzt.

     

    Moin Niels,

    ich versuche mich gleich mal daran zu machen und zu versuchen was ich bis hierhin alleine bewerkstelligen kann und

    echt vielen dank schon mal für deine Hilfe soweit. 

    Wenn ich fragen haben schreibe ich heute nochmal und auch wie weit ich gekommen bin.

     

    Gruß Patrick

     

    PS: Ja ich werde mehr darauf achten.

    vor 16 Stunden schrieb Sunny61:

    Ich glaube eher, dein Chef verlangt nach Powershell. Es wäre besser gewesen wenn Du gleich von Anfang ehrlich mit allen hier umgegangen wärst.

     

    Wenn man ein PS-Script debuggen möchte, dann nimmt man dafür die Powershell ISE her, mit F9 kann man einen Haltepunkt setzen, mit F5 das Script starten, mit F11 schrittweise durch das Script gehen. Solche grundsätzlichen Dinge muss dir dein Ausbilder zeigen, dann die Aufgaben geben.

     

    Mit der Antwort lief irgendwie nicht, kann hier niemand etwas anfangen. Fehlermeldungen posten, alles andere ist Kaffeesatzleserei.

    Nein das ist kompletter schwachsinn, nicht böse gemeint nein er verlangt nicht explizit powershell aber mein Wunsch für mich war powershell statt batch.
    Fehlermeldung gab es keine es ich hab neugestartet usw. alles nichts gebracht also 1. eingebunden per gpo Server neugestartet und es passierte nichts.

     

    Gruß Patrick

  5. vor 20 Minuten schrieb BOfH_666:

    Dann fang doch vielleicht mit den Grundlagen von Powershell an. Dann verstehst Du auch, warum das Script so reagiert, wie es das tut und Du lernst, wie Du das debuggen kannst, bzw. wie Du es verändern musst, um das von Dir gewünschte Verhalten zu erhalten. Und Du lernst auch das integrierte Hilfe-System zu benutzen usw. ....

    Ein guter und sogar einigermaßen unterhaltsamer Start gelingt relativ einfach mit dem kostenlosen Video-Kurs in der Microsoft Virtual Academy - Getting Started with Powershell. (Keine Ahngst - es geht dort eigentlich um Powershell 3 aber die Grundlagen haben sich nicht geändert.)

    Ich schau mir das gleich mal zuhause an, nur das ding ist ich habe schon in google nach dingen gesucht wie: Variable %username% powershell und ähnliche formulierungen aber ich fand da ist schwer was zu finden,

  6. vor 17 Minuten schrieb BOfH_666:

    Sorry, aber das klingt alles etwas verworren. Von wem hast Du denn so eine Aufgabe bekommen?

    Normalerweise wird das Homeverzeichnis und die dazugehörige Freigabe nur einmal - EIN EINZIGES MAL - erzeugt. Das Verbinden des Benutzers mit dieser Freigabe und Zuweisung eines Laufwerksbuchstabens geschieht mittels GPOs - da brauchst Du auch kein Script. Wir haben 2018! - Logonscripte sind kaum noch notwendig.

    Schon klar das keine notwendig sind ohne logon script läuft es ja auch aber mein chef in der Ausbildung wollte das ich das mit mache das automatisiert jeder user der angelegt wird automatisch ein homelaufwerk zugewiesen bekommt und das per script. Ist ja letzenendes auch egal ich soll es so machen einfach für den Lernefekt

  7. vor 12 Minuten schrieb NilsK:

    Moin,

     

    und das bedeutet, dass das Homeverzeichnis erzeugt werden soll? Das wäre sehr untypisch, denn schließlich muss das nur genau einmal erzeugt werden. Üblicherweise wird in einem Logonscript ein bestehendes Homeverzeichnis verbunden - das ist eine ganz andere Aufgabe und viel einfacher. Solltest du vielleicht noch mal klären.

     

    Nein, sorry, aber fertige Scripte schreiben wir hier normalerweise nicht. Das wäre auch wenig zielführend, wenn wir dir deine Aufgaben erledigen, dann hast du nichts gelernt und jemand anders deine Aufgabe erledigt.

     

    Gruß, Nils

     

    Ja das Homeverzeichnis soll auch nur einmal erzeugt werden aber dann muss ja die Freigabe oder so für jeden User der sich einloggt dazu erzeugt werden auf dem Arbeitsplatz speziell für den eingeloggten User. Deswegen wie könnte ich das am besten in meinem Jetzigen Script mit der Variable %Username% erreichen? könntest du mir da einen Tipp geben.
    Nein du sollst ja nicht alle Zeilen für mich vorschreiben das Meiste habe ich ja schon in dem oben angegebenen Script

    Gruß Patrick

     

    vor 16 Minuten schrieb Sunny61:

    Erstell eine Batchdatei mit folgendem Inhalt:

     

    
    net use h: \\DeinServer\DeineFreigabe\%USERNAME% /persistent:no
    
    

     

    Die Batchdatei dann jedem User als Anmeldescript mitgeben.

     

    EDIT: Den zweiten Teil deiner Frage habe ich jetzt erst gelesen. Mit einer IF-Abfrage kommst Du dorthin. Beispiele gibt es viele:

    https://www.axel-hahn.de/batch/helferlein-und-tabellen/alle-windows-kommandos?id=if

     

    Im zweiten Posting findest Du eine passende Abfrage:

    https://www.tutorials.de/threads/batch-ueberpruefen-ob-im-ordner-dateien-vorhanden-sind.192232/

    Auch danke für deine Antwort aber mit der batch datei das lief irgendwie nicht bei mir deswegen wollte ich das lieber über Powershell machen. Die If anfrage das schau ich mir für powershell mal an

  8. vor 18 Minuten schrieb NilsK:

    Moin,

     

    also hast du eine exakte Aufgabe gestellt bekommen? Wie lautet die denn? Sonst raten wir hier nur rum und es passt am Ende nicht.

     

    Beim Anlegen eines Users über das GUI kannst du direkt ein Home erzeugen lassen. Beim Anlegen per PowerShell gibst du halt in dem Skript, mit dem du den User erzeugst, auch das Kommando, den Ordner zu erzeugen, den Namen dafür hast du in dem Fall ja. Und wenn es darum geht, für bestehende User ein Home zu erzeugen, dann liest man die User aus und lässt in einer Schleife die Ordner anlegen.

     

    Dein Skript schlägt deshalb fehl, weil es in der ersten Zeile erwartet, einen Parameter übergeben zu bekommen. Daher stellt die PowerShell beim manuellen Ausführen auch die Nachfrage. Du müsstest diese Stelle ersetzen durch eine Funktion, die den Anmeldenamen des Users zurückgibt, der das Skript aufruft. Dafür käme z.B, die Systemvariable %USERNAME% in Frage.

    Noch dazu hast du das Skript offenbar von einer Webseite kopiert, weshalb falsche Anführungsstriche darin stehen. Tippe alle Anführungsstriche in einem Texteditor neu.

     

    Gruß, Nils

     

     

    Moin,

     

    Die Aufgabe Lautet per GPO(Gruppenrichtlinie) ein LogonScript laufen zu lassen das bewirkt das jeder ein Homeverzeichnis bekommt.
    Z.B ich melde mich nur mit dem Admin Konto an bekommt der erst ein Homelaufwerk, melde ich mich mit HansDieter an bekommt er sein Homelaufwerk über das LogonScript zugewiesen,

    Ja das nervige bei dem Script was ich am anfang gepostet hab was ich auch ausm Netz habe ist das ich das Homeverzeichnis vorher einmal selber anlegen musste das soll das Script auch alleine machen am besten.
    Und ja anstatt das er händisch einen Namen abfragt für welchen SamAccountName er ein HomeLaufwerk erzeugen soll, soll er lieber selber deinen eingeloggten Account erkennen und anhand dessen das HomeLaufwerk anlegen.( Und dann muss ich  wissen wie man das macht denn ich bin zu b***d was passendes dafür im netz zu finden^^ um mir das Script selbst zusammen zu schustern deswegen währe es nett wenn du einen Lösungsweg weisst mir das Script neu editiert nochmal zu Posten und wenn möglich mit ner kleinen erklärung)
    Ja das mit der variable %username% leuchtete mir auch ein nur da ich nicht das nötige wissen habe das umzuschustern bräuchte ich geignete hilfe der mir sagt oder zeigt wie am besten so genau wie möglich
    Ich hoffe es ist nun noch etwas verständlicher. Sorry das es etwas kompliziert meinerseits ist

    Gruß Patrick

  9. vor 13 Minuten schrieb NilsK:

    Moin,

     

    was genau möchtest du denn erreichen? Dass jeder User ein Homeverzeichnis hat? Das ließe sich wahrscheinlich einfacher erreichen. Allgemein würde man sowas eher zentral erzeugen (z.B. in dem Moment, wenn der User im AD angelegt wird; oder auch einmalig für alle bestehenden Userkonten) als es beim Anmelden eines Users zu tun - nicht zuletzt könnte man damit Berechtigungsprobleme vermeiden.

     

    Also beschreibe doch bitte noch mal genau die Aufgabe und das Ziel.

     

    Gruß, Nils

     

    Also ich möchte keine neuen User dafür anlegen lassen.

    -Bestehende User die sich am Client oder Lokal am Server anmelden oder Einloggen sollen automatisch per Logon Script EIn Homelaufwerk zugewiesen bekommen 
    -in dem Moment, wenn der User im AD angelegt wird ein Homeverzeichnis zugewiesen bekommen das währe auch gut wenn du weisst wie?^^ , aber es soll über ein Script laufen weil das so meine Aufgabe ist.

    Ich hoffe nun ist es besser erklärt

    Gruß Patrick

  10. Hi Leute, ich erläutere euch mal mein Problem.

     

    Ich suchte nach einem Powershell Script was ich wiederum als LogonScript auf meinem WindowsServer 2016 einbinden wollte.
    Das heisst wenn sich Jemand mit egal welchem User anmeldet ob am Server oder an einem der beiden Clients die auch in der Domäne sind das sie Automatisch ein eigenes Homeverzeichnis bekommen.

    Das Script sieht wie folgt aus:

    param([Parameter(Mandatory=$true)][String]$samAccountName)
    $fullPath = \\DC01\HomeDir2\{0}“ -f $samAccountName 
    $driveLetter = H:“
    
    $User = Get-ADUser -Identity $samAccountName
    
    if($User -ne $Null) { 
        Set-ADUser $User -HomeDrive $driveLetter -HomeDirectory $fullPath -ea Stop 
        $homeShare = New-Item -path $fullPath -ItemType Directory -force -ea Stop
    
        $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 ($User.SID, $FileSystemRights, $InheritanceFlags, $PropagationFlags, $AccessControlType) 
        $acl.AddAccessRule($AccessRule)
    
        Set-Acl -Path $homeShare -AclObject $acl -ea Stop
    
        Write-Host („HomeDirectory created at {0}“ -f $fullPath)
    }

     

    Wenn ich es mit der Powershell öffne also er es ausführt kommt direkt eine Fehlermeldung die sieht man nicht weil sich die PS Console direkt schließt, deswegen habe ich das Script mal per STRG+V in eine geöffnete Console eingefügt 
    Da läuft es dann zwar er legt das Verzeichnis also Das Homeverzeichnis auch an aber er fragt den SAMACCOUNTNAME ab also den muss ich dann Manuell in die Console eingeben. genau deswegen funktioniert das als Logon Script nicht.

    Die Frage ist wie mache ich das das er einfach den eingeloggten User erkennt und für den dann das Homeverzeichnis anlegt?

    PS: Ich weiss ich weiss ich kann das auch Manuell alles anlegen aber das will ich nicht und das ist auch nicht meine Aufgabe es muss so gehen.

    thx:)

    scree.png

  11. Hi Leute, ich erläutere euch mal mein Problem.

     

    Ich suchte nach einem Powershell Script was ich wiederum als LogonScript auf meinem WindowsServer 2016 einbinden wollte.
    Das heisst wenn sich Jemand mit egal welchem User anmeldet ob am Server oder an einem der beiden Clients die auch in der Domäne sind das sie Automatisch ein eigenes Homeverzeichnis bekommen.

    Das Script sieht wie folgt aus:

     

    param([Parameter(Mandatory=$true)][String]$samAccountName)
    $fullPath = „\\DC01\HomeDir2\{0}“ -f $samAccountName 
    $driveLetter = „H:“

    $User = Get-ADUser -Identity $samAccountName

    if($User -ne $Null) { 
        Set-ADUser $User -HomeDrive $driveLetter -HomeDirectory $fullPath -ea Stop 
        $homeShare = New-Item -path $fullPath -ItemType Directory -force -ea Stop

        $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 ($User.SID, $FileSystemRights, $InheritanceFlags, $PropagationFlags, $AccessControlType) 
        $acl.AddAccessRule($AccessRule)

        Set-Acl -Path $homeShare -AclObject $acl -ea Stop

        Write-Host („HomeDirectory created at {0}“ -f $fullPath)
    }

     

    Wenn ich es mit der Powershell öffne also er es ausführt kommt direkt eine Fehlermeldung die sieht man nicht weil sich die PS Console direkt schließt, deswegen habe ich das Script mal per STRG+V in eine geöffnete Console eingefügt 
    Da läuft es dann zwar er legt das Verzeichnis also Das Homeverzeichnis auch an aber er fragt den SAMACCOUNTNAME ab also den muss ich dann Manuell in die Console eingeben. genau deswegen funktioniert das als Logon Script nicht.

    Die Frage ist wie mache ich das das er einfach den eingeloggten User erkennt und für den dann das Homeverzeichnis anlegt?

    PS: Ich weiss ich weiss ich kann das auch Manuell alles anlegen aber das will ich nicht und das ist auch nicht meine Aufgabe es muss so gehen.

    thx:)

     

    scree.png

×
×
  • Neu erstellen...