Stibo 17 Geschrieben 31. Januar 2019 Melden Teilen Geschrieben 31. Januar 2019 (bearbeitet) Hallo zusammen, ich schreibe gerade ein kleines Skript, mit dem sich Nutzer ein bestimmtes Netzlaufwerk (nach Aufnahme des Servers in die Domain, momentan steht er noch Standalone und die Mappings geschehen mit lokalen Benutzern) neu mappen sollen. Aufgebaut ist es folgendermaßen 1. Der User wird gefragt, unter welchem aktuellen Buchstaben sein Laufwerk verbunden ist 2. Das Mapping wird gelöscht 3. Der User wird nach seinen alternativen Credentials abgefragt 4. Das Mapping wird neu aufgebaut So sieht der Code bislang aus: # Skript zum Wiederverbinden der Freigaben des Ablageservers # Abfragen des Laufwerkbuchstabens Write-Host "Unter welchem Laufwerksbuchstaben ist Ihre Freigabe derzeit verbunden?" Write-Host "Bitte den Buchstaben ohne Doppelpunkt eingeben und Enter-Taste drücken:" $LWB = Read-Host # Bereits verbundenes Laufwerk löschen Remove-PSDrive -Name $LWB -PSProvider FileSystem -Scope Global $Benutzer = Get-Credential -UserName "domain\$env:UserName" -Message "Bitte das tägliche Windowspasswort eingeben" New-PSDrive –Name "$LWB" –PSProvider FileSystem -Root "\\servername.localdomain\Share" -Credential $Benutzer -Persist Das spuckt die Console aus: PS C:\Windows\System32\WindowsPowerShell\v1.0> P:\PowerShell\Ablageserver.ps1 Unter welchem Laufwerksbuchstaben ist Ihre Freigabe derzeit verbunden? Bitte den Buchstaben ohne Doppelpunkt eingeben und Enter-Taste drücken: Q New-PSDrive : Der lokale Gerätename wird bereits verwendet At P:\PowerShell\Ablageserver.ps1:13 char:1 + New-PSDrive –Name "$LWB" –PSProvider FileSystem -Root "\\Servername.localdomain ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (Q:PSDriveInfo) [New-PSDrive], Win32Exception + FullyQualifiedErrorId : CouldNotMapNetworkDrive,Microsoft.PowerShell.Commands.NewPSDriveCommand PS C:\Windows\System32\WindowsPowerShell\v1.0> Allem Anschein nach wird das Laufwerk überhaupt nicht getrennt. Wenn ich mit net use überprüfe, welche LWs noch gemappt sind, taucht es (Q) auch weiterhin auf. Was mache ich falsch? :confused: Bin für jede Hilfe dankbar! :) Und: Gruppenrichtlinien können wir in diesem Fall leider nicht benutzen, weil die User alle in derselben OU sind, aber verschiedene Freigaben nutzen. [Edit] Ich habe vermutlich die Antwort gefunden: Laufwerkmappings, die mit "net use" verbunden wurden, werden allem Anschein nach durch Remove-PSDrive nicht entfernt. Stellt sich mir die Frage, ob man irgendwie rausfinden kann, wie das Laufwerk gemappt wurde und per Schalter in dem Skript abfragt, welche Methode genutzt wurde...? bearbeitet 31. Januar 2019 von Stibo Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 31. Januar 2019 Melden Teilen Geschrieben 31. Januar 2019 Im Zweifel ist "net use" hier wohl sowieso die robustere Wahl. Ich würd einfach bei Laufwerksmappings immer "net use" benutzen (wenn GPOs keine Wahl sind - wäre vielleicht ne prima Gelegenheit, mal aufzuräumen und doch GPOs einzusetzen ) Zitieren Link zu diesem Kommentar
Sunny61 807 Geschrieben 31. Januar 2019 Melden Teilen Geschrieben 31. Januar 2019 Vorher mit einer Batch alle verbundenen Laufwerke trennen: net use * /delete /yes Zitieren Link zu diesem Kommentar
tesso 375 Geschrieben 31. Januar 2019 Melden Teilen Geschrieben 31. Januar 2019 Probier es mal mit Remove-SmbMapping Zitieren Link zu diesem Kommentar
daabm 1.366 Geschrieben 31. Januar 2019 Melden Teilen Geschrieben 31. Januar 2019 Bin bei Tesso - ein "net use" erstellt kein PSDrive, also kann man es damit auch nicht entfernen Zitieren Link zu diesem Kommentar
Stibo 17 Geschrieben 1. Februar 2019 Autor Melden Teilen Geschrieben 1. Februar 2019 vor 17 Stunden schrieb BOfH_666: Im Zweifel ist "net use" hier wohl sowieso die robustere Wahl. Ich würd einfach bei Laufwerksmappings immer "net use" benutzen (wenn GPOs keine Wahl sind - wäre vielleicht ne prima Gelegenheit, mal aufzuräumen und doch GPOs einzusetzen ) Das Problem hierbei ist, dass ich/wir nicht die Hoheit über die Clients habe(n). Und bis wir hier die GPOs durchgesetzt haben ist 2019 wahrsch. auch wieder vorbei... ;) vor 17 Stunden schrieb Sunny61: Vorher mit einer Batch alle verbundenen Laufwerke trennen: net use * /delete /yes Auf die Idee kam ich auch schon (aber dediziert auf das entsprechende Laufwerk, also das, was der User eingibt), aber hat nicht funktioniert. vor 16 Stunden schrieb tesso: Probier es mal mit Remove-SmbMapping Werde ich gleich testen, danke! Zitieren Link zu diesem Kommentar
Sunny61 807 Geschrieben 1. Februar 2019 Melden Teilen Geschrieben 1. Februar 2019 vor 56 Minuten schrieb Stibo: vor 18 Stunden schrieb Sunny61: Vorher mit einer Batch alle verbundenen Laufwerke trennen: net use * /delete /yes Auf die Idee kam ich auch schon (aber dediziert auf das entsprechende Laufwerk, also das, was der User eingibt), aber hat nicht funktioniert. Nicht funktioniert hilft an der Stelle ungemein. Genauer geht es nicht? Fehlermeldungen gab es keine? Zitieren Link zu diesem Kommentar
Stibo 17 Geschrieben 1. Februar 2019 Autor Melden Teilen Geschrieben 1. Februar 2019 vor einer Stunde schrieb Sunny61: Nicht funktioniert hilft an der Stelle ungemein. Genauer geht es nicht? Fehlermeldungen gab es keine? Ah, ich hab' die Fehlermeldung vergessen mit reinzukopieren, scusa me: Unter welchem Laufwerksbuchstaben ist Ihre Freigabe derzeit verbunden? Bitte den Buchstaben ohne Doppelpunkt eingeben und Enter-Taste drücken: Q net : Die Netzwerkverbindung konnte nicht gefunden werden. At P:\PowerShell\Ablageserver.ps1:10 char:1 + net use $LWB /d + ~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (Die Netzwerkver...efunden werden.:String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError Es wird einfach kein gemapptes Laufwerk gefunden. Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 1. Februar 2019 Melden Teilen Geschrieben 1. Februar 2019 (bearbeitet) Vielleicht kannst Du ja diesen Teil des Scriptes sowieso etwas "tweaken"/"pimpen". Ich bin immer skeptisch, wenn Anwender eine Wahl treffen sollen und dabei quasi völlig freie Hand haben. Ich fände es deutlich weniger fehlerträchtig, wenn sie in solch einem Fall nur die Wahl hätten, aus einer Liste von Möglichkeiten, die eine Richtige auszuwählen. Also wenn 4 oder 5 Netzlaufwerke existieren, diese als Auswahlliste anbieten und keine anderen Eingaben zulassen. Vielleicht sogar noch besser - der Pfad zur Freigabe sollte doch eigentlich bekannt sein - dann könntest Du danach suchen und das Laufwerk trennen ohne den AW behelligen zu müssen. Für das Neuverbinden der neuen Freigabe würde wieder das eben gesagte gelten - nur die sinnvollen Optionen zur Auswahl anbieten. bearbeitet 1. Februar 2019 von BOfH_666 Zitieren Link zu diesem Kommentar
Sunny61 807 Geschrieben 1. Februar 2019 Melden Teilen Geschrieben 1. Februar 2019 Da fällt mir nur noch die UAC ein. Kann es sein, dass die User lokale Adminrechte haben? Zitieren Link zu diesem Kommentar
Stibo 17 Geschrieben 4. Februar 2019 Autor Melden Teilen Geschrieben 4. Februar 2019 Am 1.2.2019 um 14:27 schrieb BOfH_666: Vielleicht kannst Du ja diesen Teil des Scriptes sowieso etwas "tweaken"/"pimpen". Ich bin immer skeptisch, wenn Anwender eine Wahl treffen sollen und dabei quasi völlig freie Hand haben. Ich fände es deutlich weniger fehlerträchtig, wenn sie in solch einem Fall nur die Wahl hätten, aus einer Liste von Möglichkeiten, die eine Richtige auszuwählen. Also wenn 4 oder 5 Netzlaufwerke existieren, diese als Auswahlliste anbieten und keine anderen Eingaben zulassen. Vielleicht sogar noch besser - der Pfad zur Freigabe sollte doch eigentlich bekannt sein - dann könntest Du danach suchen und das Laufwerk trennen ohne den AW behelligen zu müssen. Für das Neuverbinden der neuen Freigabe würde wieder das eben gesagte gelten - nur die sinnvollen Optionen zur Auswahl anbieten. Nun ist es so, dass sich meine Scriptfähigkeiten in Grenzen halten. ;) Die Idee hatte ich auch, aber die Umsetzung traue ich mir nicht zu. Daher habe ich zu dem gegriffen, von dem ich dachte, dass das klappen könnte. Am 1.2.2019 um 18:26 schrieb Sunny61: Da fällt mir nur noch die UAC ein. Kann es sein, dass die User lokale Adminrechte haben? Das muss ich erst verifizieren, ich glaube nicht, aber sicher bin ich mir nicht. Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 4. Februar 2019 Melden Teilen Geschrieben 4. Februar 2019 (bearbeitet) vor 9 Stunden schrieb Stibo: Nun ist es so, dass sich meine Scriptfähigkeiten in Grenzen halten. ;) Na wenn das nicht die perfekte Gelegenheit ist, sich endlich tiefer in Powershell einzuarbeiten!?!? Speziell bei Powershell finde ich die Eintstieghürde extrem niedrig. So lange es noch verfügbar ist, könntest Du Dich z.B. in der Microsoft Virtual Academy ein bissl "berieseln" lassen. Der Einstiegskurs Getting Started with Powershell ist immernoch sehr empfehlenswert - auch wenn er nicht mehr taufrisch ist. Das kostet Dich nur ein wenig Deiner Zeit, bringt Dich aber enorm vorwärts. Besonders, wenn Du vorhast, Dich noch eine Weile in Windows-basierten System-Umgebungen zu bewegen. Und wenn Du irgendwo stecken bleibst, kannst Du ja immernoch hier fragen, oder hier oder hier oder hier oder hier. bearbeitet 4. Februar 2019 von BOfH_666 Zitieren Link zu diesem Kommentar
daabm 1.366 Geschrieben 4. Februar 2019 Melden Teilen Geschrieben 4. Februar 2019 Olaf, zu Stackoverflow solltest ihn nicht schicken - da gibts nur gleich Mecker wegen "zu unspezifisch" und blah... Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 5. Februar 2019 Melden Teilen Geschrieben 5. Februar 2019 Jaaa ... da geht er natürlich erst hin, wenn er ein bissl Erfahrung gesammelt hat und sich die Anfänger-Hilfe durchgelesen hat und sich auch dran hält ... dann klappt das schon. Zitieren Link zu diesem Kommentar
Stibo 17 Geschrieben 5. Februar 2019 Autor Melden Teilen Geschrieben 5. Februar 2019 @tesso: Remove-SMBShare kann ich leider nicht nutzen, weil alle Clients noch Windows 7 sind. vor 14 Stunden schrieb BOfH_666: Na wenn das nicht die perfekte Gelegenheit ist, sich endlich tiefer in Powershell einzuarbeiten!?!? Speziell bei Powershell finde ich die Eintstieghürde extrem niedrig. So lange es noch verfügbar ist, könntest Du Dich z.B. in der Microsoft Virtual Academy ein bissl "berieseln" lassen. Der Einstiegskurs Getting Started with Powershell ist immernoch sehr empfehlenswert - auch wenn er nicht mehr taufrisch ist. Das kostet Dich nur ein wenig Deiner Zeit, bringt Dich aber enorm vorwärts. Besonders, wenn Du vorhast, Dich noch eine Weile in Windows-basierten System-Umgebungen zu bewegen. Und wenn Du irgendwo stecken bleibst, kannst Du ja immernoch hier fragen, oder hier oder hier oder hier oder hier. Ich versuche schon sehr lange, mich tiefer in Powershell einzuarbeiten, aber so richtig gelingen will mir das nicht; ich bin mir ziemlich sicher ich weiß auch weshalb, nur kriege ich das Problem auf kurz- bis mittelfristige Sicht wahrscheinlich nicht gelöst. Den MVA-Kurs habe ich sogar schon durchgesehen / -gearbeitet, der ist tatsächlich sehr hilfreich. Ich bin Dir / Euch wirklich dankbar für die Hilfe bisher, aber ich habe an dieses Thema für mich einen Haken gemacht und verwende eine ganz simple Batchdatei. Die mag eventuell nicht die schönste Option sein, aber in einem Test hat sie super funktioniert und liefert das, was ich brauche. vor 9 Stunden schrieb daabm: Olaf, zu Stackoverflow solltest ihn nicht schicken - da gibts nur gleich Mecker wegen "zu unspezifisch" und blah... Das ist mir schon passiert,. ich weiß, was Du meinst. Das Thema hat sich dann erledigt. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.