Powershell UNC +Credentials Hilfe
Hallo Zusammen,
Erstmal Hintergrundwissen:
Mit der Hilfe von anderen Usern konnten wir ein Skript ausarbeiten, was die Zeitstempel von Dateien überwacht.
Der Kunde scannt Dokumente in einen Hotfolder und deswegen dürfen die da nicht länger als 10 min drin sein.
Sollte eine Datei länger als 10 min drin sein, startet das Skript automatisch den jeweiligen Dienst neu.
Das Skript sieht wie folgt aus (Powershell):
Zum Verständnis, der Server ist nicht in der Domain auf dem der Dienst läuft und die Hotfolder sind auf einem Domaincontroller.
Deswegen brauche ich die Credentials, das Powershell den UNC Pfad finden kann.
Meine folgende Versuche sind gescheitert:
Ich habe probiert nach meinem Pfad die Credentials anzuhängen leider ohne Erfolg.
Dieser Versuch war leider auch ohne Erfolg.
Nun hoffe ich jemand kann mir helfen.
Danke für de Rückmeldung!
Grüße
L.J
Erstmal Hintergrundwissen:
Mit der Hilfe von anderen Usern konnten wir ein Skript ausarbeiten, was die Zeitstempel von Dateien überwacht.
Der Kunde scannt Dokumente in einen Hotfolder und deswegen dürfen die da nicht länger als 10 min drin sein.
Sollte eine Datei länger als 10 min drin sein, startet das Skript automatisch den jeweiligen Dienst neu.
Das Skript sieht wie folgt aus (Powershell):
#Variablen ausfüllen
$watchfolder = '\\dcsrv\public\Scanner-Eingang'#UNC Pfade funktionieren
$CurTimeStamp = Get-Date
$FileAge = 10 #in Minuten
#Er prüft die Zeit der Dokumente
$Files = Get-ChildItem -Path $watchfolder | Where-Object{($_.LastWriteTime -le $CurTimeStamp.AddMinutes(-1 * $FileAge))}
#Für jedes Dokument
ForEach ($File in $Files) {
Write-Host " " $File " - " $File.LastWriteTime
## Damit wir der Dienst neugestartet
Restart-Service -Name Spooler
## Sobald er eine Datei gefunden hat stopt er
break
}
Zum Verständnis, der Server ist nicht in der Domain auf dem der Dienst läuft und die Hotfolder sind auf einem Domaincontroller.
Deswegen brauche ich die Credentials, das Powershell den UNC Pfad finden kann.
Meine folgende Versuche sind gescheitert:
#Variablen ausfüllen
$watchfolder = '\\dcsrv\public\Scanner-Eingang'#UNC Pfade funktionieren
$CurTimeStamp = Get-Date
$username = 'user'
$password = '1234'
$FileAge = 10 #in Minuten
#Er prüft die Zeit der Dokumente
$Files = Get-ChildItem -Path $watchfolder $username $password | Where-Object{($_.LastWriteTime -le $CurTimeStamp.AddMinutes(-1 * $FileAge))}
#Für jedes Dokument
ForEach ($File in $Files) {
Write-Host " " $File " - " $File.LastWriteTime
## Damit wir der Dienst neugestartet
Restart-Service -Name Spooler
## Sobald er eine Datei gefunden hat stopt er
break
}
Ich habe probiert nach meinem Pfad die Credentials anzuhängen leider ohne Erfolg.
#Variablen ausfüllen
$watchfolder = '\\dcsrv\public\Scanner-Eingang'#UNC Pfade funktionieren
$CurTimeStamp = Get-Date
$FileAge = 10 #in Minuten
#Er prüft die Zeit der Dokumente
$Files = Get-ChildItem -Path $watchfolder /user:user password:1234 | Where-Object{($_.LastWriteTime -le $CurTimeStamp.AddMinutes(-1 * $FileAge))}
#Für jedes Dokument
ForEach ($File in $Files) {
Write-Host " " $File " - " $File.LastWriteTime
## Damit wir der Dienst neugestartet
Restart-Service -Name Spooler
## Sobald er eine Datei gefunden hat stopt er
break
}
Nun hoffe ich jemand kann mir helfen.
Danke für de Rückmeldung!
Grüße
L.J
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 666588
Url: https://administrator.de/contentid/666588
Ausgedruckt am: 22.11.2024 um 12:11 Uhr
4 Kommentare
Neuester Kommentar
Moin,
arbeitet ein New-PS-Drive ein:
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell. ...
Ferner:
beschäftige dich auch damit, wie du Zugangsdaten übermittelst, ohne die Kennwörter im Klartext im Script zu verweigen.
Get-Credential ist dein Freund
https://docs.microsoft.com/de-de/powershell/scripting/learn/deep-dives/a ...
Gruß
em-pie
arbeitet ein New-PS-Drive ein:
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell. ...
Ferner:
beschäftige dich auch damit, wie du Zugangsdaten übermittelst, ohne die Kennwörter im Klartext im Script zu verweigen.
Get-Credential ist dein Freund
https://docs.microsoft.com/de-de/powershell/scripting/learn/deep-dives/a ...
Gruß
em-pie
Am einfachsten starte das Skript direkt mit dem Taskplaner und den richtigen Credentials. Alternativ hinterlege die Credentials für den Server in der Anmeldeinformationsverwaltung des entsprechenden Accounts dann sind auch im Skript keine unsicheren Klartext Credential-Angaben mehr nötig weil der Zugriff dann so schon klappt.
Gruß w.
Gruß w.