Jump to content

Empfohlene Beiträge

Liebe Leute,

 

zu folgenden Script habe ich zwei Fragen:

 

1. Es funktioniert nur wenn ich es als Admin ausführe. Gibt es eine Möglichkeit, dass er das automatisch macht, wenn ich es anklicke??

2. Es ist ein Userprofile-Backup-Script und funktioniert grundsätzlich. Aus irgendeinem Grund befindet sich nach dem Kopiervorgang im Ordner Dokumente zusätzlich die Ordner "Bilder, Musik und Videos". Und ich verstehe nicht warum.

 

Bitte um Hilfe! Danke

 


# Welche Ordner sollen gesichert werden?
$FoldersToCopy = @(
    'Desktop'
    'Favorites'
    'Documents'
    'Pictures'
    'Videos'
    )

$ConfirmUser = $null

# Welches Profil soll gesichert werden. Erst kopieren, wenn Eingabe auch bestätigt wurde
while( $ConfirmUser -ne 'y' ){

    Write-Host -Object ''
    Write-Host -Object ''

 
    $User = Read-Host -Prompt 'Welches Profil soll gesichert werden?' 
    

    if( -not ( Test-Path -Path "C:\Users\$User" -PathType Container ) ){
        Write-Host -Object ''
        Write-Host -Object ''
        Write-Host -Object "$User ist nicht vorhanden. Wählen Sie ein anderes Profil aus!" -ForegroundColor red
        continue
        }

    Write-Host -Object ''
    Write-Host -Object ''
    Write-Host -Object "Das ausgewählte Profil lautet: $User !" -ForegroundColor yellow
    $ConfirmUser = Read-Host -Prompt "Sind Sie sicher? (y/n)" 
    }

#Kopiervorgang wird gestartet
$SourceRoot      = "C:\Users\$User"
$DestinationRoot = "D:\Sicherung\$User"

foreach( $Folder in $FoldersToCopy ){
    $Source      = Join-Path -Path $SourceRoot -ChildPath $Folder
    $Destination = Join-Path -Path $DestinationRoot -ChildPath $Folder

    if( -not ( Test-Path -Path $Source -PathType Container ) ){
        Write-Warning "Pfad `t$Source konnte nicht gefunden werden"
        continue
        }

    Robocopy.exe $Source $Destination /E /IS /NP /NFL
    }

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

grc,

zu 1. Nein.

zu 2. Du musst beim robocopy-Ziel das konkrete Zielverzeichnis mit angeben.  Also 'Desktop', 'Favorites', 'Documents', 'Pictures' und 'Videos' jeweils in den Destinationroot mit einarbeiten.

 

Als Erklärung zu 1. Normalerweise hat nur der jeweilige User Zugriff auf sein Profilverzeichnis. Möchte jemand anders darauf zugreifen, braucht er Admin-Rechte.

bearbeitet von BOfH_666

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

schon versucht....bringt auch nichts.

Ich verstehe nicht, dass er Quelle und Ziel richtig erkennt. Aber beim Kopieren findet er auf einmal Bilder, Musik und Videos in Documents, obwohl die nicht da sind.

image.png.c0cbd3934b8a9de2b8fc8b0ab59c5d02.png

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Windows hat für Kompatibilitätszwecke Verknüpfungen zu den "Spezial-Ordnern" im Documents-Ordner. Und wenn Du robocopy nix anderes sagst, rennt es diesen Verknüpfungen hinterher. /XJ verhindert das.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ich könnte ja noch ne Fortgeschrittenen-Aufgabe einwerfen :-)

Ermittle die Profilpfade aus der Registry (ProfileList), und hole Dir aus der jeweiligen NTUSER.DAT aus den User Shell Folders dann die tatsächlichen Pfade zu den Zielordnern.

Oder falls es der aktuelle User ist: Verwende ShGetSpecialFolders dafür :-)

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Wow ... Du nu wieder ... ich würde erstmal anfangen und die Fehlerquelle "User-Interaction" entschärfen. Freitext-Eingabe is nich ... ich würde eine Liste mit möglichen Profilen anzeigen, aus denen der Benutzer des Scripts nur eins auswählen kann.   ;-):aetsch2:

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

Werbepartner:



×