ScheduledTask ohne Windows-Benutzeranmeldung: PowerShell Netzlaufwerk lässt sich nicht verbinden

Mitglied: gbinquisitor

gbinquisitor (Level 1) - Jetzt verbinden

19.10.2020 um 22:53 Uhr, 770 Aufrufe, 9 Kommentare

Hallo,

ich habe auf einem Win 10 Ent. Host (HyperV) in einer Domäne über den TaskPlanner bzw. Aufgabenplanung erfolgreich ein Powershell Script laufen, welches über ein externen SMB3 Laufwerk (Strato HiDrive) Ordner auf bestimmte Inhalte prüft (BackUp Kontrolle). Das geprüfte Netzlaufwerk ist über den angemeldeten Benutzer gemapt, somit ist ein Mapping innerhalb des Scripts nicht notwendig.

Leider wird der Host auf Grund von div. Domänen-GPO's auch mal neu gestartet ohne automatische Benutzeranmeldung. Automatische Anmeldung kann wegen der Domänen GPO nicht eingestellt werden (wäre praktisch aber grundsätzlich bei diesem Host erlaubt - geht Auto-Anmeldung per Domänen-GPO, Stichwort Kiosk-PC/Modus? Evt. sekundärer Lösungsweg, primär würd ich gern die PowerShell Lösung). Effekt ist das der ScheduledTask nicht angestosen wird.

Damit das Script auch ohne Windows-Benutzeranmeldung ausgeführt werden kann habe ich es um das Laufwerksmapping und Einstellen des Arbeitsverzeichnisses ergänzt. So hier:

Alternativ funktioniert auch New-PSDrive.

Im Test in der PowerShell ISE läuft das auch alles einwandfrei. Task mit Windows-Benutzeranmeldung geht auch.

Das Problem:
Wenn der Task als Job ohne Windows-Benutzeranmeldung läuft liefert mir das Script ein Log ab, in dem die nicht gefundenen BackUps moniert werden. Anhand der gelisteten Verzeichnisse sehe ich das nicht das Netzlaufwerk, sondern das Windows\System32 Verzeichnis ausgewertet wurde.

Ich habe deshalb probiert das ganze per Admin-gestarteter PowerShell zu testen, da ich da auch autom. im Windows\System32 Verzeichnis arbeite und mich im selben Zustand wie im Task befinde (falscher Lösungsweg?).

Es ist mir aber Schlicht und ergreifend nicht möglich (auf div. Win10 PC's getestet mit/ohne Domäne & verschiedene Netzwerke) das Smb3 Laufwerk zu mappen. Fehler:

New-PSDrive geht auch nicht.

Habe alles mögliche probiert, auch mit Authentifizierung usw., im Test so OK, als Admin scheitere ich immer...

Im Netz gibt es allerhand Lösungen , die aber nicht die Tasks ohne Benutzer-Anmeldung berücksichtigen. ...oder ich suche falsch...

Das muß doch irgendwie machbar sein.... *verzweifel*

Gruß
Mitglied: 146189
20.10.2020, aktualisiert um 08:43 Uhr
'\\%SERVER%\%Freigabe%\%Ordner%'
Erstens werden Variablen in der Powershell mit $variable angesprochen und wenn in Anführungszeichen dann auch nur in Doppelten und nicht in Hochkommas, deswegen geht obige Angabe mit Prozentzeichen nicht das ist Batch-Gedöhns!
Zweitens ist ein Mapping überflüssig weil man den Pfad auch so direkt über den UNC Pfad ansprechen kann.
Bitte warten ..
Mitglied: Dr.Bit
20.10.2020 um 09:28 Uhr
Laufwerksmapping ohne Benutzeranmeldung geht eh nicht. Du kannst auch einen Benutzer in einer Domäne automatisch anmelden, dazu mußt Du registry editieren. Hier ist aber der erhebliche Nachteil, daß das Passwort im Klartext in die Registry eingetragen werden muß.

🖖
Bitte warten ..
Mitglied: gbinquisitor
20.10.2020 um 09:30 Uhr
Hallo,


Zitat von 146189:

'\\%SERVER%\%Freigabe%\%Ordner%'
Erstens werden Umgebungsvariablen in der Powershell mit $env:Variable angesprochen, deswegen geht obige Angabe mit Prozentzeichen nicht das ist Batch-Gedöhns!

Da es eine öffentliches Share ist wollte ich nicht Teile des Pfades hier zeigen. Im Script sind keine Prozentzeichen drin. Bsp. verbessert:


Zweitens ist ein Mapping überflüssig weil man den Pfad auch so direkt über den UNC Pfad ansprechen kann.
Hab es eben mal mit direkter Ansprache des UNC Pfades probiert, das geht über die normal getsartete Powershell. Wieder das gleiche Problem beim Ausführen des Task ohne Benutzeranmeldung bzw. Powershell Konsole mit Admin-Rechten :
Habe den Eindruck, das man gar nicht aus der PS Session "raus" kommen kann...
Bitte warten ..
Mitglied: 146189
20.10.2020, aktualisiert um 09:51 Uhr
Sicher geht das, da du hier aber offensichtlich ein Share bei einem Hoster via SMB übers Internet ansprichst (war uns leider nicht bekannt) musst du vorher die Credentials für den FQDN auch im Tresor(Anmeldeinformationsverwaltung) desjenigen Users hinterlegen in dessen Kontext auch der Scheduled Task ausgeführt wird sonst fehlen diesem ja logischerweise die Authentifizierungsdaten!
Bedenke auch das bestimmte Principals keinen Netzwerkzugriff haben.
Also mach es richtig dann lüppt dat auch.
Bitte warten ..
Mitglied: gbinquisitor
20.10.2020 um 11:26 Uhr
Hallo,

Sicher geht das, da du hier aber offensichtlich ein Share bei einem Hoster via SMB übers Internet ansprichst (war uns leider nicht bekannt) musst > du vorher die Credentials für den FQDN auch im Tresor(Anmeldeinformationsverwaltung) desjenigen Users hinterlegen in dessen Kontext auch der > Scheduled Task ausgeführt wird sonst fehlen diesem ja logischerweise die Authentifizierungsdaten!

Ich hatte einleitend erwähnt, das es ein externes SMB3 Share bei Strato bzw. ein HiDrive ist. Oder fehlt eine Info bzw. unklar formuliert?
Die Anmeldeinformationen sind tatsächlich in den Windowsbenutzern hinterlegt, deswegen klappt ein Mapping bzw. Set-Location des SMB3 Shares auch in BATCH und PowerShell (normal gestartet) ohne diese anzugeben. Mit funktioniert es auch, daran liegt es wohl nicht.

Eben nochmal mit NET USE in der PowerShell (als Admin) probiert...
Bedenke auch das bestimmte Principals keinen Netzwerkzugriff haben.
Der Windows-Benutzer ist in der Gruppe der Administratoren und sollte uneingeschränkt Zugriff auf Domäne/LAN/WAN haben.
Oder an welcher Stelle muß da für einen Windows-benutzer nachgeregelt werden das er über eine PowerShell Sizung ins WAN gucken darf? AD? GPO? Registry?

Also mach es richtig dann lüppt dat auch.
Asche auf mein Haupt, genau deswegen frage ich ja ^^ ...bin der Meinung, das mein Script OK ist, aber anscheinend kapiere ich die Script-Umgebung (gestartet als Admin) nicht bzw. weiß nicht was dort zu beachten ist oder kenne bestehende Einschränkungen nicht richtig.
Bitte warten ..
Mitglied: 146189
20.10.2020, aktualisiert um 11:36 Uhr
\\smb3.hidrive.strato.com\Freigabe\Unterordner
Gemappt werden nur freigegebene Shares keine Unterordner! Also im Pfad nur den Server und den Freigabe-Namen angeben, keine weiteren Ordner!
\\smb3.hidrive.strato.com\root
https://www.strato.de/faq/cloud-speicher/so-stellen-sie-mit-dem-net-use- ...
https://www.strato.de/faq/cloud-speicher/wie-lauten-die-pfade-zu-ftp-smb ...
Bitte warten ..
Mitglied: gbinquisitor
20.10.2020 um 12:56 Uhr
Danke für die schnelle Antwort, das kann ich aber so nicht akzeptieren.
Natürlich kann ich mit New-SmbMapping wundervoll alle Unterordner im Share ansteuern und mappen.... nur nicht im PowerShell mit erweiterten Rechten. Hier findet er das Share überhaupt nicht. Auch nicht wenn ich mich direkt aufs ROOT verbinde, kein Unterschied.

Normal gestartete PowerShell:
Das Selbe nochmal als Admin gestartet schlägt fehl:
Wüßte jetzt nicht auf welches Argument verwiesen wird, zumal es in der PowerShell daneben (normal gestartet) klappt. Teilweise habe ich auch mal bei den Tests System Error 63 bzw. 53 bekommen (Pfad nicht gefunden...).
Bitte warten ..
Mitglied: 146189
20.10.2020, aktualisiert um 16:55 Uhr
Natürlich kann ich mit New-SmbMapping wundervoll alle Unterordner im Share ansteuern und mappen
Dieses spezielle CMDLet kann das, ja das ist richtig, aber genau dieses funktioniert nicht gescheit in elevated Sessions und ist deswegen dafür ungeeignet! Die anderen dafür üblicherweise dafür genutzten Tools erwarten hier aber in der Regel ein Share und kein Subpfad.

Lies
https://ss64.com/ps/new-smbmapping.html
This cmdlet should be run at a non-elevated session - the same privilege as Windows Explorer.

Deswegen besser gleich über die Angabe des UNC Pfads arbeiten, funktioniert hier übrigens einwandfrei auch in einer elevated Session, gerade mal mit einem Test-Account bei Strato getestet. Funktioniert wie nicht anders erwartet

Mit cmdkey die Credentials in der elevated Sessions vorher prüfen.

Btw. Ein Skript muss auch nicht zwingend elevated ausgeführt werden um ohne Benutzeranmeldung zu laufen wenn sowieso nur ein paar Pfade geprüft werden.
Bitte warten ..
Mitglied: gbinquisitor
29.10.2020 um 10:57 Uhr
Hallo und danke für die Antwort,

komme jetzt erst dazu weiter zu testen.

Zitat von 146189:

Natürlich kann ich mit New-SmbMapping wundervoll alle Unterordner im Share ansteuern und mappen
Dieses spezielle CMDLet kann das, ja das ist richtig, aber genau dieses funktioniert nicht gescheit in elevated Sessions und ist deswegen dafür ungeeignet! Die anderen dafür üblicherweise dafür genutzten Tools erwarten hier aber in der Regel ein Share und kein Subpfad.

OK, danke für den Hinweis. Habs gelesen und auch erfahren, warum nicht funktioniel... Schade, das solche Info's nicht irgendwie besser im Kontext verfügbar sind.

Deswegen besser gleich über die Angabe des UNC Pfads arbeiten, funktioniert hier übrigens einwandfrei auch in einer elevated Session, gerade mal mit einem Test-Account bei Strato getestet. Funktioniert wie nicht anders erwartet

Mit cmdkey die Credentials in der elevated Sessions vorher prüfen.

Mit welchen CMDlets verbindet man den UNC Pfad? über New-PsDrive? Das bekomme ich nicht hin, schlägt immer fehl, wenn ich die credentials mitliefern möchte. Ohne Credentials geht es auf PC's die im Windows-Benutzer bzw. Passwortspeicher die Zugangdaten schon drin haben (oder schon ein bestehendes Mapping dahin haben). Auf einem PC, der noch nie mit dem HiDrive verbunden war schlägt es fehl. Wie teste ich in diesem Fall mit cmdkey?

Btw. Ein Skript muss auch nicht zwingend elevated ausgeführt werden um ohne Benutzeranmeldung zu laufen wenn sowieso nur ein paar Pfade geprüft werden.

Is schon klar, hatte ich ja erklärt oben, wieso ich das zum testen nutze. Wäre allerdings für andere Zwecke sinnvoll es auch "elevated" hin zu bekommen
Bitte warten ..
Heiß diskutierte Inhalte
Hardware
Schwarmwissen gefragt: Rätselstunde am Samstag Abend - LWL Verkabelung
gelöst Xaero1982FrageHardware31 Kommentare

Nabend Zusammen, heute Abend gibt es ein kleines Rätsel für euch was es zu lösen gilt. Die Lösung werde ...

Netzwerke
Aufbau Praxisnetzwerk mit Fragen (TI, Switch, Firewall, VoIP, Netzwerkdesign)
razorrFrageNetzwerke21 Kommentare

Hallo, ich bin neu hier, aber habe hier schon sehr lange im Forum mitgelesen bzw. mich schlau gemacht und ...

Vmware
ESXi für Raspberry Pi
sabinesInformationVmware17 Kommentare

VMware hat den ESXi für den Raspberry Pi (zu Testzwecken) vorgestellt, läuft 180 Tage auf dem Pi 4 mit ...

Backup
Veeam Backup-Server aus der Domäne nehmen
redhorseFrageBackup15 Kommentare

Guten Morgen, da in unserer Backupumgebung ein Hardwaretausch ansteht, konzipiere ich gerade Möglichkeiten die Sicherheit zu erhöhen. Konkret geht ...

Microsoft Office
Office 2016 auf Server 2019
gelöst EmptymanFrageMicrosoft Office11 Kommentare

Hallo zusammen, ich bin gerade dabei für mein Unternehmen eine neue Terminalserver-Umgebung auf Basis Server 2019 zu bauen. Im ...

Windows Server
Server mit AMD EPYC 7F52 (1Socket) wird als 2 Socket Server angezeigt
LordXearoFrageWindows Server11 Kommentare

Hallo Zusammen, ich komme mit meinem Problem nicht so recht weiter und hoffe aufjemanden der noch weitere Ideen hat. ...

Ähnliche Inhalte
Batch & Shell

Powershell: Netzlaufwerk für spezifische Gruppe erstellen

gelöst gabeBUFrageBatch & Shell7 Kommentare

Hallo Zusammen Ich arbeite in meiner Testgruppe gerade an einem Login-Script. Das Ziel soll sein, ein Netzlaufwerk hinzuzuüfgen, wenn ...

Windows 10

Windows 10 Benutzeranmeldung dauert ewig

Tigger90FrageWindows 1011 Kommentare

Guten Morgen, unsere bisherigen 6 Windows 10 Clients haben das Problem das die Benutzeranmeldung um die 2 Minuten dauert. ...

Windows Netzwerk

Windows Netzlaufwerk mit der PowerShell verbinden - Fehlermeldung, dass Netzwerkkennwort ist falsch

gelöst mr.kkevFrageWindows Netzwerk2 Kommentare

Guten Abend zusammen Da ich ein Neuling in PowerShell bin, bringt mich folgendes Problem um den Verstand. Ich möchte ...

TK-Netze & Geräte

Verbind 2 Hauser mit Kupfer und einen Netzwerkisolator

Hampi7273FrageTK-Netze & Geräte3 Kommentare

Ich hab gelesn das in der Medizin Technik oft mit Netzwerkisolator gebaut wird. Netzwerkisolatoren bilden innerhalb einer kupfergeführten Ethernet-Datenleitung ...

Batch & Shell

Verbindung zu Netzlaufwerk soll nach Laufwerksbuchstaben fragen - PowerShell

gelöst Stefan007FrageBatch & Shell3 Kommentare

Hi, was muss ich genau machen, damit mich das PS-Script nach einer Eingabe für einen Laufwerksbuchstaben fragt? Gibt es ...

Windows Server

Windows Terminalserver 2016: Rückfrage bei zweiter Benutzeranmeldung

ringbuchblockFrageWindows Server4 Kommentare

Hallo Community, aktuell habe ich bei meinem ersten Windows Terminalserver 2016 folgendes Problem: Ist ein Benutzer (z.B. der Administrator/aber ...

Neue Fragen
Administrator Magazin
11 | 2020 Virtualisierung ist aus der IT nicht mehr wegzudenken. In der November-Ausgabe des IT-Administrator Magazins dreht sich der Schwerpunkt um das Thema "Server- und Storage-Virtualisierung". Darin erfahren Sie, wie sich die Virtualisierungstechnologie entwickelt hat, welche Varianten es im Bereich Server und Speicher gibt und wie ...
Neue Beiträge
Neue Jobangebote
Server- und Storage-VirtualisierungServer- und Storage-VirtualisierungBerechtigungs- und IdentitätsmanagementBerechtigungs- und IdentitätsmanagementWebdienste und -serverWebdienste und -serverDatenbankenDatenbankenMonitoring & SupportMonitoring & SupportHybrid CloudHybrid Cloud