xpxy15
Goto Top

Powershell Datei kopieren mit ACL Script funktioniert nicht

Hallo Zusammen

Ich habe einen Skript geschrieben um Einen Datei zu kopieren mit ACL. Davor sollte er noch testen ob der Pfad vorhanden ist, wenn nicht Fehlerausgabe und das Skript sollte sich auch nicht beenden, wenn der Pfad nicht vorhanden ist. Was habe ich falsch gemacht? Könnt Ihr mir bitte helfen

Cls

$copypfad= Read-Host "Bitte geben Sie der zu kopierende Pfad ein "  
$pastepfad= Read-Host "Geben Sie den Ziel Pfad ein"  

$test1 = test-path -path $copypfad
$test2 = test-path -path $pastepfad

if($test1 -like "False"){  
    Write-Host "Bitte geben Sie ein gültiges Pfad ein! "  
    return
}
if($test2 -like "False"){  
    Write-Host "Bitte geben Sie ein gültiges Pfad ein! "  
    return
}

Copy-item -path $copypfad -Destination $pastepfad


$ACL=Get-Acl $copypfad                        #Holt Die ACL von alten Ordner
Set-Acl -path $pastepfad -AclObject $ACL      #Kopiert es in den neuen Pfad

Danke im Vorraus

XPXY15

Content-Key: 309103

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

Printed on: April 18, 2024 at 13:04 o'clock

Member: Marabunta
Solution Marabunta Jul 06, 2016 at 16:06:14 (UTC)
Goto Top
Das löst nicht alle Probleme(Copy-item : Ein Element mit dem angegebenen Namen "C:\test2\test" ist bereits vorhanden.)...,
aber sonst funktioniert das gut:
Cls

Do{$copypfad= Read-Host "Bitte geben Sie der zu kopierende Pfad ein "}  
While((Test-Path $copypfad) -ne $true)

Do{$pastepfad= Read-Host "Geben Sie den Ziel Pfad ein"}  
While((Test-Path $pastepfad) -ne $true)

Copy-item -path $copypfad -Destination $pastepfad


$ACL=Get-Acl $copypfad                        #Holt Die ACL von alten Ordner
Set-Acl -path $pastepfad -AclObject $ACL      #Kopiert es in den neuen Pfad
Member: xpxy15
xpxy15 Jul 07, 2016 at 06:01:46 (UTC)
Goto Top
Danke Marabunta

Dieser Skript funktioniert schon besser als meins. Brauch nur eine Fehlerausgabe Laut meiner Aufgabenstellung.

mfg
xpxy15
Mitglied: 129813
Solution 129813 Jul 07, 2016 updated at 06:44:12 (UTC)
Goto Top
cls
while($true){
    $copypfad = Read-Host "Bitte geben Sie der zu kopierende Pfad ein "  
    if(!(Test-Path $copypfad)){
        write-host "Path does not exists, repeat your entry." -F Red  
    }else{break}
}

while($true){
    $pastepfad = Read-Host "Geben Sie den Ziel Pfad ein" Pfad ein "  
    if(!(Test-Path $pastepfad)){
        write-host "Target path does not exists, repeat your entry." -F Red  
    }else{break}
}

Try{
    Copy-item -path $copypfad -Destination $pastepfad
    $ACL=Get-Acl $copypfad
    Set-Acl -path $pastepfad -AclObject $ACL 
}catch{
    throw $_.Exception.Message
}
Regards
Member: xpxy15
xpxy15 Jul 07, 2016 at 07:12:46 (UTC)
Goto Top
Thanks highload

This script works.