harlekin
Goto Top

PowerShell-Script zur Abfrage mit get-childitem auf einer Freigabe beim Systemstart

Hallo zusammen,

ich habe ein PowerShell-Script das über eine GPO beim Computerstart ausgeführt wird.

An einer Stelle soll die Variable "MyFileName" einen freigegebenen Pfad abfragen (Rechte auf NTFS und Freigabe vorhanden).

$RemotePath = "\\FileServer\Freigabe\Pfad1"
$MyFileName = (Get-ChildItem -path "$RemotePath\*.txt" -name)
write-host $MyFileName


Das Abgefragte System ist ein Windows 7 Arbeitsplatz - Zugriff auf die Freigabe ist möglich.
Im angesprochenen RemotePath gibt es immer nur eine einzige Datei mit der Endung txt.

Führe ich das Script lokal in einer ISE Konsole aus hat die Variable $MyFileName einen Wert. Lasse ich das Script beim Start des PCs laufen bleibt die Variable leer.

Ich habe versucht eine Zeile davor ein "cd c:" zu schreiben (Google Tip) oder über $RemotePath = "FileSystem::\\Server\Freigabe\Pfad1" (ebenfalls ein Tip von Google).

Auch über eine Deklaration der Variablen mit

set-variable -Name RemotePath -value "\\FileServer\Freigabe\Pfad1"
und
set-variable -Name $MyFileName -value (Get-ChildItem -path "$RemotePath\*.txt" -name)

gab es keinen Erfolg.

Anstatt mit "get-childitem" könnte man auch über

dir $RemotePath\*.txt -Name

gehen, das funktioniert aber auch nicht.

Hat jemand vielleicht noch einen anderen Tip für mich?

Danke & Gruß
Harlekin

Content-ID: 361949

Url: https://administrator.de/contentid/361949

Ausgedruckt am: 22.11.2024 um 01:11 Uhr

135185
135185 22.01.2018 aktualisiert um 15:25:22 Uhr
Goto Top
ich habe ein PowerShell-Script das über eine GPO beim Computerstart ausgeführt wird.
Beim Systemstart (Startskript) sind die Zugriffsrechte des Systems/Computers relevant da das Userprofil noch nicht geladen wurde!
Also musst du dem Computerobjekt passende Freigabe und NTFS Zugriffsrechte verpassen.
Zusätzlich muss natürlich das Netzwerk bereits aktiv sein.
Ein Start-Transcript zeigt dir in einem Log ebenfalls was da schief läuft.

Gruß Sepp
harlekin
harlekin 22.01.2018 um 15:25:09 Uhr
Goto Top
Hallo Sepp,

vielen Dank für Deine schnelle Antwort.

Auf den NTFS Pfad und auch die Freigabe haben die Domänen Computer Lesezugriff. Für SYSTEM besteht Vollzugriff.

Hab ich inzwischen ca. 28x geprüft face-wink War auch mein erster Gedanke...

Viele Grüße
Harlekin
135185
135185 22.01.2018 aktualisiert um 15:27:39 Uhr
Goto Top
Dann setze die Policy beim Start auf das Netzwerk warten, und setze ins Skript ein Start-Transkript mit Angabe einer Logdatei dann siehst du schwarz auf weiß was schief läuft!!
Penny.Cilin
Penny.Cilin 22.01.2018 um 15:30:04 Uhr
Goto Top
Hallo,

ich glaube Du verwechselst etwas. das Benutzerkonto SYSTEM ist in diesem Moment von dem System (also der Server, also das abgefragte Windows 7 System), welche die Freigabe hat.
Was Du meinst dies das benutzerkonto SYSTEM des Clients, welcher ja eine andere SID hat und einen anderen Namen..

Das funktioniert dann so nicht.

Gruss Penny
135185
135185 22.01.2018 aktualisiert um 15:32:37 Uhr
Goto Top
Für SYSTEM besteht Vollzugriff.
Das ist hier nicht relevant ! System ist das lokale Systemkonto des Filers. Da muss eine Gruppe oder Konto rein in der der Domain-Computer Mitglied ist.
harlekin
harlekin 22.01.2018 um 15:39:36 Uhr
Goto Top
SYSTEM ist / war nur zum Testen drin.

Die Leserechte werden über die Gruppe Domänen Computer gesteuert. Die haben lesenden Zugriff.

Start-Transkript kannte ich bisher nicht - Danke.

Das hat mir einen Tippfehler an einer ganz anderen Stelle aufgezeigt, die für das vorliegende Problem allerdings unerheblich ist.

Weitere Fehler wurden dort nicht protokolliert.

Das "auf Netzwerk warten" ist bereits aktiv.
harlekin
harlekin 29.01.2018 aktualisiert um 15:27:28 Uhr
Goto Top
Hallo zusammen,

vielen Dank für Eure Hilfe.

Das Problem war tatsächlich ein Rechte-Problem. Allerdings nicht für die Freigabe oder im NTFS. Es war eine systemspezifische Einschränkung.

Viele Grüße
Harlekin