none
Wie kann ich Netzlaufwerke mit Powershell mappen? RRS feed

  • Frage

  • Hi,

    neues Problem:

    Ich versuche mit Powershell Netzlaufwerke zu mappen, aber es kommt immer der gleiche Fehler:

    new-PSDrive : Unknown error (0x4c3)
    At H:\Scripts\Powershell\lehrercopy_better\Benutzerverifizierung.ps1:46 char:2
    +     new-PSDrive -name "Y" -PSProvider FileSystem -Root "\\win-srv11\p ...
    +     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidOperation: (Y:PSDriveInfo) [New-PSDrive], Win32Exception
        + FullyQualifiedErrorId : CouldNotMapNetworkDrive,Microsoft.PowerShell.Commands.NewPSDriveCommand


    Hier der Code:

            $username = "Benutzername"
    	[Security.SecureString]$password = ConvertTo-SecureString "Passwort" -Asplaintext -force 
    	$credential = New-Object System.Management.Automation.PSCredential ("Domäne\$username", $password)
    	new-PSDrive -name "Laufwerksbuchstabe" -PSProvider FileSystem -Root "\\Server\Laufwerk" -Credential $credential -Persist


    Wenn ich die untere Zeile allein stehend in der powershell ausführe, funktioniert es einwandfrei...

    Ich hab es auch schon ohne Angabe der Domäne versucht, funktioniert jedoch auch nicht

    Danke im vorraus für jegliche Hilfe

    Mfg McMaggi

    Mittwoch, 15. Juni 2016 10:45

Antworten

  • Moin,

    schau mal hier: New-PSDrive : Unknown error (0x4c3)

    workaround:

    $net = new-object -ComObject WScript.Network
    $net.MapNetworkDrive("u:", "\\server\share", $false, "domain\user", "password")

    oder auf PS3.0+ upgraden
    • Bearbeitet psott Mittwoch, 15. Juni 2016 11:07
    • Als Antwort markiert MCMaggi Mittwoch, 15. Juni 2016 12:52
    Mittwoch, 15. Juni 2016 11:07
  • > Mehrfache Verbindungen zu einem Server oder einer freigegebenen Ressource von demselben Benutzer unter Verwendung mehrerer Benutzernamen sind nicht zulässig. Trennen Sie alle
    > früheren Verbindungen zu dem Server bzw. der freigegebenen Ressource, und versuchen Sie es erneut.
     
    Das war schon immer so - Du kannst Verbindungen zu EINEM Server immer
    nur mit EINEM Benutzer herstellen.
     
    > Hinzu kommt: Wenn ich den Benutzername richtig eingebe, aber ein völlig
    > falsches Passwort wird das Laufwerk trotzdem gemappt...
     
    Ja, weil schon eine Verbindung vorhanden ist. Du kannst den
    Benutzernamen und das Kennwort auch weglassen, es wird trotzdem
    funktionieren :-)
     
    Einziger Workaround: Serverseitig DisableStrictNameChecking und mit
    DNS-Aliasen arbeiten.
     
    • Als Antwort markiert MCMaggi Mittwoch, 15. Juni 2016 12:52
    Mittwoch, 15. Juni 2016 12:42

Alle Antworten

  • Moin,

    schau mal hier: New-PSDrive : Unknown error (0x4c3)

    workaround:

    $net = new-object -ComObject WScript.Network
    $net.MapNetworkDrive("u:", "\\server\share", $false, "domain\user", "password")

    oder auf PS3.0+ upgraden
    • Bearbeitet psott Mittwoch, 15. Juni 2016 11:07
    • Als Antwort markiert MCMaggi Mittwoch, 15. Juni 2016 12:52
    Mittwoch, 15. Juni 2016 11:07
  • Danke,

    aber ich benutze Powershell 4.0 also sollte es daran nicht liegen.

    und vielleicht steh ich jetzt nur auf dem Schlauch aber wie binde ich diese $net Variable richtig in mein Skript ein ?

    Danke :))

    Mittwoch, 15. Juni 2016 11:34
  • Soweit ich das sehe, ersetzt es den gezeigten Teil deines Skripts vollständig.
    Mittwoch, 15. Juni 2016 11:47
  • Hat funktioniert :)

    Dankeschön!!!

    Doch jetzt kommt das nächste Problem:

    Ich gebe über eine selbst gebastelte Inputbox Benutzername und Passwort an, das funktioniert auch soweit, aber wenn ich einen anderen Benutzer angebe der auch auf das Laufwerk, welches ich mappen will, Zugriff hat, kommt folgende Fehlermeldung:

    Mehrfache Verbindungen zu einem Server oder einer freigegebenen Ressource von demselben Benutzer unter Verwendung mehrerer Benutzernamen sind nicht zulässig. Trennen Sie alle 
    früheren Verbindungen zu dem Server bzw. der freigegebenen Ressource, und versuchen Sie es erneut.
    
    At H:\Scripts\Powershell\lehrercopy_better\Benutzerverifizierung.ps1:44 char:2
    +     $net.MapNetworkDrive("W:", "\\win-srv11\progs", $true, "kbbz\$use ...
    +     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : OperationStopped: (:) [], COMException
        + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException

    Hinzu kommt: Wenn ich den Benutzername richtig eingebe, aber ein völlig falsches Passwort wird das Laufwerk trotzdem gemappt...

    	$username = $tbo_Benutzername.text #Name der Textbox für die Eingabe des Benutzernamens
    	$password = $tbo_Passwort.text     #Name der Textbox für die Eingabe des Passwortes
    	$net = new-object -ComObject WScript.Network
    	$net.MapNetworkDrive("W:", "\\Server\share", $false, "Domäne\$username", "$password")

    Das ist der Codeblock der ausgeführt wird wenn man in die Textboxen Benutzername und Passwort eingegeben hat und auf den Button "Login" klickt.

    Danke im voraus!!


    • Bearbeitet MCMaggi Mittwoch, 15. Juni 2016 12:16
    Mittwoch, 15. Juni 2016 12:15
  • Zum Verständnis:

    Bei uns melden sich einige Benutzer mit Ihren eigenen Notebooks an, welche nicht in der Domäne sind.

    Daher will ich mit diesem Skript die Laufwerke mappen die sie benötigen. Deshalb melden sie sich mit ihrem Privaten Daten an dem Rechner an, aber um die Laufwerke zu mappen, benutzen sie die Firmen Daten welche sie auch bei Ihren Arbeitsplätzen benutzen.

    Mittwoch, 15. Juni 2016 12:22
  • > Mehrfache Verbindungen zu einem Server oder einer freigegebenen Ressource von demselben Benutzer unter Verwendung mehrerer Benutzernamen sind nicht zulässig. Trennen Sie alle
    > früheren Verbindungen zu dem Server bzw. der freigegebenen Ressource, und versuchen Sie es erneut.
     
    Das war schon immer so - Du kannst Verbindungen zu EINEM Server immer
    nur mit EINEM Benutzer herstellen.
     
    > Hinzu kommt: Wenn ich den Benutzername richtig eingebe, aber ein völlig
    > falsches Passwort wird das Laufwerk trotzdem gemappt...
     
    Ja, weil schon eine Verbindung vorhanden ist. Du kannst den
    Benutzernamen und das Kennwort auch weglassen, es wird trotzdem
    funktionieren :-)
     
    Einziger Workaround: Serverseitig DisableStrictNameChecking und mit
    DNS-Aliasen arbeiten.
     
    • Als Antwort markiert MCMaggi Mittwoch, 15. Juni 2016 12:52
    Mittwoch, 15. Juni 2016 12:42
  • Ok...

    Danke für Ihre Hilfe und Zeit!

    MfG

    McMaggi

    Mittwoch, 15. Juni 2016 12:53
  • Aber was ich immernoch nicht ganz versteh:

    Wie soll es funktionieren ein Laufwerk zu mappen ohne ein Passwort oder Benutzernamen anzugeben wenn der Rechner nicht in der Domäne regestriert ist. Ich meine, dann könnte man sich doch theoretisch überall mit einem Netzwerkkabel verbinden und alle Laufwerke mappen und Daten auslesen.

    Da muss es doch eine Möglichkeit geben, den eingegebenen Benutzernamen und Passwort mit dem Server abzugleichen und wenn diese Daten zu einem Konto gehören, welches Zugriff auf das Laufwerk hat, dieses zu mappen!?

    Danke im vorraus

    Mittwoch, 15. Juni 2016 13:07
  • > Wie soll es funktionieren ein Laufwerk zu mappen ohne ein Passwort oder
    > Benutzernamen anzugeben wenn der Rechner nicht in der Domäne regestriert
    > ist. Ich meine, dann könnte man sich doch theoretisch überall mit einem
    > Netzwerkkabel verbinden und alle Laufwerke mappen und Daten auslesen.
     
    Wenn Username und Kennwort identisch sind, haben sie den gleichen
    NTLM-Hash. Und dann funktioniert es direkt einfach so.
     
    Und wenn bereits eine Verbindung zu einem Server besteht, gibt es ein
    Session Ticket (naja, so ähnlich jedenfalls :-)), das dann einfach
    wiederverwendet wird.
     
    Und zu guter Letzt - Wenn anonymous access zulässig ist, geht es immer :)
     
    --
    Greetings/Grüße, Martin -
    Mal ein gutes Buch über GPOs lesen? -
    Good or bad GPOs? My blog - http://evilgpo.blogspot.com
    And if IT bothers me? Coke bottle design refreshment -
     
    Mittwoch, 15. Juni 2016 14:45
  • Alles klar dankeschön :)

    Donnerstag, 16. Juni 2016 10:09