Batch Dateien von Home-dir (Freigabe) eines Users kopieren. Kein Zugriff.

BlackNeon

Ensign
Registriert
Nov. 2011
Beiträge
141
Hallo liebe CB-Community

Ich möchte per Batchfile die Dateien vom Home-Dir (Freigabe-Ordner) eines User verschieben da wir alle Profiele auf einen neuen Server migrieren. Nun habe ich wenn ich das Batchfile mit dem jeweiligen User ausfürhe habe ich kein Zugriff auf das Home-Dir.

Code:
ECHO OFF

:SW_CTRL
CLS
wmic product get Name, Version
PAUSE

:START
CLS
ECHO.
ECHO .................
ECHO .PROFILMIGRATION.
ECHO .................
ECHO.
SET /P USER=Benutzerkuerzel eingeben:
SET QUELLE=\\Fileserver1\%USER%$
SET ZIEL=\\Fileserver2\%USER%$
DEL  %QUELLE%\Config\ProfilePC\UPMSettings.ini

:MINFO
CLS
ECHO.
ECHO ................
ECHO .MIGRATIONSINFO.
ECHO ................
ECHO.
ECHO USER:      %USER%
ECHO.
ECHO QUELLE     %QUELLE%
ECHO ZIEL       %ZIEL%
ECHO.
PAUSE

:PROC
robocopy %Quelle% %ZIEL% /S /E /COPY:DATSOU /R:1 /W:5>>C:\HomeDir_robocopy.log 
PAUSE

NET USE H: /delete
PAUSE
EXIT

Wisst ihr wass ich im Code abändern muss oder wie ich die Datei ausfürhen muss? (Als Administrator ist nicht möglich, da uns der Zugriff auf das Home-Dir verweigert ist.)

LG BlackNeon
 
Wie soll das denn gehen? Wenn du weder das Kennwort vom User hast, noch einem Konto (Administrator) für das du das Kennwort hast, die nötigen Rechte gibst, kommst du nicht an die Sachen ran. Dafür gibts ja Berechtigungen.

Wie führst du das denn aus? Als Startskript? Autostart? Soweit ich weiß, führt "System" das Sktipt aus wenn du keinen Benutzer angibst.
 
Zuletzt bearbeitet:
Benzer schrieb:
Wie soll das denn gehen? Wenn du weder das Kennwort vom User hast, noch einem Konto (Administrator) für das du das Kennwort hast, die nötigen Rechte gibst, kommst du nicht an die Sachen ran. Dafür gibts ja Berechtigungen.

Wie führst du das denn aus? Als Startskript? Autostart? Soweit ich weiß, führt "System" das Sktipt aus wenn du keinen Benutzer angibst.

Ich führe es unter dem jeweilig zu migrierenden Benutzer aus. Kurz gesagt erst ist am arbeiten und ich geh an seinen Arbeitsplatz und führ unter seinem Benutzer die Batch Datei aus. Also sollte ich eigentlich Zugriff auf sein Home-dir haben aber wie gesagt wird mir der Zugriff verweigert.
 
Was liegt alles in diesem Verzeichnis? Ist das das gesamte Windows Profil des Users, oder nur ein paar persönliche Dokumente?
Wenn da Files wie zB ntuser.dat drin liegen kann man das im Zugriff nicht kopieren.
 
Zuletzt bearbeitet: (typo)
Im Code steht bei dir: NET USE H: /delete
Wie wird das Laufwerk verbunden?! Bzw. wozu löschst du die Verbindung? :p

Schau mal, ob du mit dem Benutzer Zugriff auf die Verzeichnisse hast..
 
Syberdoor schrieb:
Was liegt alles in diesem Verzeichnis? Ist das das gesamte Windows Profil des Users, oder nur ein paar persönliche Dokumente?
Wenn da Files wie zB ntuser.dat drin liegen kann man das im Zugriff nicht kopieren.

Auf Suchanfrage im Ordner wurde mir keine ntuser.dat Datei angegeben also vermut ich mal, dass das profil nicht in diesem Verzeichniss ist. Manuell mit zwei geöffneten Explorern kann ich es per Copy&Paste ohne Probleme kopieren.
Ergänzung ()

peps90 schrieb:
Im Code steht bei dir: NET USE H: /delete
Wie wird das Laufwerk verbunden?! Bzw. wozu löschst du die Verbindung? :p

Ich lösch die Verbindung damit sich nach dem Neustart des Computers automatisch das neue Home-Dir vom Fileserver2 verbindet. H:\ ist gleich Home-dir ;)
 
Zuletzt bearbeitet:
Sind vielleicht Leerzeichen im Quell/Zielpfad?!
Lass es dir ausgeben, kopier den Pfad und versuch diesen aufzurufen..
 
peps90 schrieb:
Sind vielleicht Leerzeichen im Quell/Zielpfad?!
Lass es dir ausgeben, kopier den Pfad und versuch diesen aufzurufen..

Habs gerade versucht und ich kann ohne Probleme den kopierten Pfad via Explorer öffnen.
Hier noch die Ausgaben mit und ohne ECHO.

CB_Batch_1.jpg
CB_Batch_2.jpg
 
Zuletzt bearbeitet:
Versuch folgendes:
Code:
    ECHO OFF
     
    :SW_CTRL
    CLS
    wmic product get Name, Version
    PAUSE
     
    :START
    CLS
    ECHO.
    ECHO .................
    ECHO .PROFILMIGRATION.
    ECHO .................
    ECHO.
    SET /P USER=Benutzerkuerzel eingeben:
    SET QUELLE=\\Fileserver1\%USER%$
    SET ZIEL=\\Fileserver2\%USER%$
    DEL %QUELLE%\Config\ProfilePC\UPMSettings.ini
     
    :MINFO
    CLS
    ECHO.
    ECHO ................
    ECHO .MIGRATIONSINFO.
    ECHO ................
    ECHO.
    ECHO USER: %USER%
    ECHO.
    ECHO QUELLE %QUELLE%
    ECHO ZIEL %ZIEL%
    ECHO.
    PAUSE
     
    :PROC
    robocopy %Quelle% %ZIEL% /S /E /COPY:DATSOU /R:1 /W:5
    PAUSE
     
    NET USE H: /delete
    PAUSE
    EXIT

;)

Edit: Die Logdatei erstellst du mit: /LOG:C:\HomeDir_robocopy.log
-> http://de.wikibooks.org/wiki/Datensicherung/_Werkzeuge/_Kopieren/_ROBOCOPY#Die_Protokollierung
 
Zuletzt bearbeitet:
peps90 schrieb:
Versuch folgendes:
Code:
    ECHO OFF
     
    :SW_CTRL
    CLS
    wmic product get Name, Version
    PAUSE
     
    :START
    CLS
    ECHO.
    ECHO .................
    ECHO .PROFILMIGRATION.
    ECHO .................
    ECHO.
    SET /P USER=Benutzerkuerzel eingeben:
    SET QUELLE=\\Fileserver1\%USER%$
    SET ZIEL=\\Fileserver2\%USER%$
    DEL %QUELLE%\Config\ProfilePC\UPMSettings.ini
     
    :MINFO
    CLS
    ECHO.
    ECHO ................
    ECHO .MIGRATIONSINFO.
    ECHO ................
    ECHO.
    ECHO USER: %USER%
    ECHO.
    ECHO QUELLE %QUELLE%
    ECHO ZIEL %ZIEL%
    ECHO.
    PAUSE
     
    :PROC
    robocopy %Quelle% %ZIEL% /S /E /COPY:DATSOU /R:1 /W:5
    PAUSE
     
    NET USE H: /delete
    PAUSE
    EXIT

;)

Edit: Die Logdatei erstellst du mit: /LOG:C:\HomeDir_robocopy.log
-> http://de.wikibooks.org/wiki/Datensicherung/_Werkzeuge/_Kopieren/_ROBOCOPY#Die_Protokollierung

Ich werds morgen versuchen :) Die Auftrags Annahme ist gerade im Hochbetrieb und kann jez keine Profile migrieren aber ich werd mich morgen gegen 11:00 nochmals melden.

Komisch hier in diesem Batchfile habe ich das log file auch anderst erstellt.

Code:
ECHO OFF
CLS
ECHO                   $$$  $
ECHO                  $$ $ $$
ECHO                 $    $$
ECHO                $     $$
ECHO               $$  $$ $
ECHO             $$$      $$
ECHO $$$$$     $ $$ $$ $ $$        $$$
ECHO $   $$$    $  $ $$ $  $     $$$$  $
ECHO  $    $$$  $$$$$   $  $   $$$    $
ECHO  $$  $  $$$$   $$$$$ $ $$      $
ECHO   $$     $ $      $  $$      $$
ECHO    $$    $  $$$$$$$  $       $$
ECHO     $$  $   $$$$$$           $
ECHO       $$                  $$
ECHO      $$   HAASATISCHES   $$
ECHO      $ $     BACKUP       $$
ECHO      $       $             $
ECHO     $$$   $$             $$$
ECHO      $$$$$$          $$$$  $
ECHO      $   $ $$$$$$$$$$$$$   $
ECHO       $$   $$$$        $ $$
ECHO       $$$$            $ $
ECHO       $   $$$$$$$    $$ $
ECHO        $$$$$$   $$   $ $$
ECHO        $$  $     $$$$$$
ECHO         $$$       $$  $
ECHO                    $$$
PAUSE
CLS
REM hier werden die Wichtigsten Variablen gesetzt.

:ATTENTION
CLS
ECHO.
ECHO .........................
ECHO .!!!WICHTIG/ATTENTION!!!.
ECHO .........................
ECHO.
ECHO Bevor Sie diese Batchdatei benutzen, 
ECHO umbedingt die "Anleitung.txt" im Ordner lesen!
ECHO.
PAUSE


:SETTER
CLS
REM hier wird die Quelle und das Ziel der Dateien aus zwei Textdateien ausgelsen und anschliessend im cmd nochmals angezeigt damit man die Pfade nochmals überprüfen kann.
set Ziel=

for /f "usebackq skip=1 delims=" %%i in ("C:\Haasatisches_Backup\Ziel.txt") do (
    if not defined zeile set "Ziel=%%i"
)

set Quelle=

for /f "usebackq skip=1 delims=" %%i in ("C:\Haasatisches_Backup\Quelle.txt") do (
    if not defined zeile set "Quelle=%%i"
)

ECHO.
ECHO .................
ECHO .Quelle und Ziel.
ECHO .................
ECHO.
ECHO Auswahl Quelle: %Quelle%
ECHO.
ECHO Auswahl Ziel:   %Ziel%
ECHO.
ECHO.
ECHO.

PAUSE

REM Hier ist das erste Menü des Backup Programms.
:MENU
CLS
ECHO.
ECHO ...........................................................................
ECHO .DRUEKE 1, 2 oder 3 um die Backup Option auszuwaehlen, oder 4 fuer Restore.
ECHO ...........................................................................
ECHO.
ECHO 1 - Full Backup
ECHO 2 - Inkrementell Backup
ECHO 3 - Differentiell Backup
ECHO 4 - Restore
ECHO 5 - Anleitung
ECHO 6 - Beenden
ECHO.

REM Hier wird entschieden zu welchem Unterprogramm gesprungen wird. z.B. die Eingabe "1" führt zum Full Backup bzw zum Unterprogramm :FULL.
SET /P M=Type 1, 2, 3, 4, 5 or 6 then press ENTER:
IF %M%==1 GOTO FULL
IF %M%==2 GOTO INKR
IF %M%==3 GOTO DIFF
IF %M%==4 GOTO RMENU
IF %M%==5 GOTO ANLEITUNG
IF %M%==6 GOTO EOF

REM Fals beim Ersten Menu "4" eingegeben wird kommt mann in das Restore Menu.
:RMENU
CLS
ECHO.
ECHO ............................................................................
ECHO .DRUEKE 1, 2 oder 3 um die Restore Option auszuwaehlen, oder 5 fuer Zurueck.
ECHO ............................................................................
ECHO.
ECHO 1 - Restore Full Backup
ECHO 2 - Restore Inkrementell Backup
ECHO 3 - Restore Differentiell Backup
ECHO 4 - Zurueck
ECHO 5 - Beenden
ECHO.

REM Hier das selbe wie oben. Hier wird entschiden zu welchem Unterprogramm gesprungen wird.
SET /P T=Type 1, 2, 3, 4 or 5 then press ENTER:
IF %T%==1 GOTO RFULL
IF %T%==2 GOTO RINKR
IF %T%==3 GOTO RDIFF
IF %T%==4 GOTO MENU
IF %T%==5 GOTO EOF

:FULL
CLS
set ZielFULL=%Ziel%\Backup\FULL\%date%
echo .>>%windir%\backup.log
echo Starte Backup: %date% %time% von %Quelle% nach %ZielFULL%>>%windir%\backup.log
echo.
echo ..............................
echo .Zusaetzliche Backup Optionen.
echo ..............................
echo.
echo /y - Alle Dateien im Ziel Ordner werden ueberschrieben.
echo /h - Versteckte und Systemdateien werden auch mit kopieren.
echo.
echo zwischen den Variablen und der naechsten ein Leerzeichen setzen.
echo.
set /p variablen=Enter "/y" and/or "/h" or let it empty and press ENTER:
echo Zusaetzlich Gesetzte Variablen: %variablen%>>%windir%\backup.log
md %ZielFULL%
xcopy %Quelle% %ZielFULL% /c /f %variablen%>>%windir%\backup.log
echo Starte Überpruefung>>%windir%\backup.log
start /w winmerge.exe -Sdx %zielFULL% %quelle%
echo Fertig>>%windir%\backup.log
start notepad.exe %windir%\backup.log
pause
GOTO MENU
 
Zuletzt bearbeitet:
BlackNeon schrieb:
Ich werds morgen versuchen :) Die Auftrags Annahme ist gerade im Hochbetrieb und kann jez keine Profile migrieren aber ich werd mich morgen gegen 11:00 nochmals melden.

Komisch hier in diesem Batchfile habe ich das log file auch anderst erstellt.
...

xcopy %Quelle% %ZielFULL% /c /f %variablen%>>%windir%\backup.log

Hier hast du eindeutig xcopy verwendet ;)

Vergiss bitte nicht bescheid zu geben, ob es geklappt hat :)
 
Im übrigen solltest du so oder so die Logs nicht direkt auf C:\ erstellen. Mit einem Standarduser hast du nicht die Rechte dafür und auch sonst gehören die da nicht wirklich hin.
 
Syberdoor schrieb:
Im übrigen solltest du so oder so die Logs nicht direkt auf C:\ erstellen. Mit einem Standarduser hast du nicht die Rechte dafür und auch sonst gehören die da nicht wirklich hin.

Stimme ich Syberdoor zu, leg sie am besten auf einer Freigabe ab, bei der der Dateiname der Benutzername ist, somit hast du alle logs der Benutzer direkt an einem Ort ;)
 
peps90 schrieb:
Vergiss bitte nicht bescheid zu geben, ob es geklappt hat :)

So bin jetzt endlich dazu gekommen die Batchdatei auszuprobieren :)
Leider funktioniert Sie noch immer nicht. Immer noch das selbe Problem das es mir sagt das mir die Berechtigungen fehlen.
 
Guten Morgen,

ich frage einfach mal, vielleicht habe ich es auch überlesen, das HOME Verzeichniss für einen jeden User auf dem Zielserver ist aber schon angelegt und hat auch entsprechende Einstellungen bei den Berechtigungne, dass dort alles geschrieben und Attribute gesetzt werden kann?
 
Hast du inzwischen das Problem lösen können?!
Sonst versuch mal nur folgende Zeile auszuführen:
robocopy \\Fileserver1\%USER%$ \\Fileserver2\%USER%$ /S /E /COPY:DATSOU /R:1 /W:5

Erhältst du bei dieser die Meldung, solltest du an ihr Pfeilen ;)
Meine Vermutung ist das $-Zeichen :p
 
Zurück
Oben