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-Key: 361949

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

Printed on: April 28, 2024 at 08:04 o'clock

Mitglied: 135185
135185 Jan 22, 2018 updated at 14:25:22 (UTC)
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
Member: harlekin
harlekin Jan 22, 2018 at 14:25:09 (UTC)
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
Mitglied: 135185
135185 Jan 22, 2018 updated at 14:27:39 (UTC)
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!!
Member: Penny.Cilin
Penny.Cilin Jan 22, 2018 at 14:30:04 (UTC)
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
Mitglied: 135185
135185 Jan 22, 2018 updated at 14:32:37 (UTC)
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.
Member: harlekin
harlekin Jan 22, 2018 at 14:39:36 (UTC)
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.
Member: harlekin
harlekin Jan 29, 2018 updated at 14:27:28 (UTC)
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