Verknüpfung an Userprofile verteilen - ohne Userlogin
Ich hasse Batchdateien...
Hallo allerseits,
ich möchte per Batchdatei eine Verknüpfung verteilen. Problem dabei ist, dass die Userprofile auf einem Fileserver
liegen und ich nicht den Platzhalter %USERPROFILE% verwenden kann bzw. nicht wüsste wie.
Mein Script sieht derzeit so aus:
copy "\\Servernname\Pfad\Verknüpfung.lnk" \\Servername\home$\%username%\Desktop
Das funktioniert soweit, sofern man als jeweiliger User angemeldet ist.
Ich möchte aber die Ausführung der Batchdatei durch die User vermeiden, sondern als Admin die Verteilung einmalig vornehmen.
Hat wer eine Idee dazu?
Danke!
ich möchte per Batchdatei eine Verknüpfung verteilen. Problem dabei ist, dass die Userprofile auf einem Fileserver
liegen und ich nicht den Platzhalter %USERPROFILE% verwenden kann bzw. nicht wüsste wie.
Mein Script sieht derzeit so aus:
copy "\\Servernname\Pfad\Verknüpfung.lnk" \\Servername\home$\%username%\Desktop
Das funktioniert soweit, sofern man als jeweiliger User angemeldet ist.
Ich möchte aber die Ausführung der Batchdatei durch die User vermeiden, sondern als Admin die Verteilung einmalig vornehmen.
Hat wer eine Idee dazu?
Danke!
Please also mark the comments that contributed to the solution of the article
Content-Key: 122402
Url: https://administrator.de/contentid/122402
Printed on: May 6, 2024 at 02:05 o'clock
6 Comments
Latest comment
Hallo,
verteil den link doch per login script.
verteil den link doch per login script.
Ansonsten halt ne batch schreiben, und drüber laufen lassen.
geht wohl am schnellsten mit excel, einfach ne liste aller benutzer in eine spalte, dann zu jeder spalte das kommando und pfad hinzufügen, als txt exportieren speichern, und als bat umbennen. laufen lassen fertig.
geht wohl am schnellsten mit excel, einfach ne liste aller benutzer in eine spalte, dann zu jeder spalte das kommando und pfad hinzufügen, als txt exportieren speichern, und als bat umbennen. laufen lassen fertig.
HAllo Sandwurm1972
ich machs so
Ist hier mal im Forum als Backup für NAS gepostet worden.
Gruss affabanana
ich machs so
set Quelle=\\server\freigabe
set Ziel1=\\pcname001\c$\programme\adobe
set Zielip1=pcname001
set mailsrv=(IP oder Name des Mail Servers)
set mailaddr=empfänger@contoso.ltd
set mailfrom=Sender@contoso.ltd
set file=(Datei z.B.: word.exe )
set wait1=ping 127.0.0.1 -n 1
set logbuch=\\server\freigabe\1.logbuch.log
set temptxt=\\server\freigabe\1.temp.txt
:: ------------- eventuell alte vorhandeneDateien löschen --------------------
if exist %temptxt% del %temptxt%
if exist %logbuch% del %logbuch%
if exist \\print\c$\programme\bixi\galaxy\logbuch.log del \\print\c$\programme\bixi\galaxy\logbuch.log
:: --------------------Variablen setzen ----------------------
set befehl=Spiegelung erfolgreich %Zielip1%
set body=%temptxt%
:: --------------------- Starten der Robocopy ----------------------
robocopy.exe "%Quelle%" "%Ziel1%" "%file%" /sec /ETA /R:0 /W:0 /LOG:%logbuch%
:: ------------------ Errorlevel von Robocopy überprüfen ------------------------
if %errorlevel%==16 set befehl=FEHLER & set body=%logbuch%
if %errorlevel%==15 set befehl=FEHLER & set body=%logbuch%
if %errorlevel%==14 set befehl=FEHLER & set body=%logbuch%
if %errorlevel%==13 set befehl=FEHLER & set body=%logbuch%
if %errorlevel%==12 set befehl=FEHLER & set body=%logbuch%
if %errorlevel%==11 set befehl=FEHLER & set body=%logbuch%
if %errorlevel%==10 set befehl=FEHLER & set body=%logbuch%
if %errorlevel%==9 set befehl=FEHLER & set body=%logbuch%
if %errorlevel%==8 set befehl=FEHLER & set body=%logbuch%
if %errorlevel%==7 set befehl=FEHLER & set body=%logbuch%
if %errorlevel%==6 set befehl=FEHLER & set body=%logbuch%
if %errorlevel%==5 set befehl=FEHLER & set body=%logbuch%
if %errorlevel%==4 set befehl=FEHLER & set body=%logbuch%
if %errorlevel%==3 set befehl=FEHLER & set body=%logbuch%
if %errorlevel%==2 set befehl=FEHLER & set body=%logbuch%
:: ------------------------ Bestimmte Zeilen auslesen -------------------------------
%wait1%
find /i "Started" %logbuch% >> %temptxt%
find /i "Source" %logbuch% >> %temptxt%
find /i "Dest" %logbuch% >> %temptxt%
echo. >> %temptxt%
echo ----------------------------------------------------------------------------- >> %temptxt%
find /i "Skipped" %logbuch% >> %temptxt%
find /i "Dirs" %logbuch% >> %temptxt%
find /i "Files" %logbuch% >> %temptxt%
find /i "Bytes" %logbuch% >> %temptxt%
echo ----------------------------------------------------------------------------- >> %temptxt%
find /i "Times" %logbuch% >> %temptxt%
find /i "Ended" %logbuch% >> %temptxt%
echo. >> %temptxt%
echo. >> %temptxt%
%wait1%
:: --------------------------------- Anzeige Anzahl der Daten auf jedem Medium ---------------------
type %temptxt% | find /i /v "---------- %logbuch%" > temp2.txt
del %temptxt%
ren temp2.txt %temptxt%
echo Anzahl der Dateien auf dem NAS: >> %temptxt%
echo. >> %temptxt%
dir "%Quelle%" | find /i "Datei(en)" >> %temptxt%
echo. >> %temptxt%
echo. >> %temptxt%
echo Anzahl der Dateien auf dem Server: >> %temptxt%
echo. >> %temptxt%
dir "%Ziel1%" | find /i "Datei(en)" >> %temptxt%
:: ------------------ Versende Email, das Logfile ist Inhalt des Bodys -------------------
bmail.exe -s %mailsrv% -t %mailaddr% -f %mailfrom% -a "%befehl%" -m %body% -d
goto eof
Ist hier mal im Forum als Backup für NAS gepostet worden.
Gruss affabanana
@affabanana
Nur als kleine Anmerkung zu den Zeilen 27 bis 41: Diese sollten sich durch die eine Zeile
ersetzen lassen (und damit sogar noch Errorlevel > 16 abdecken ) ...
Grüße
bastla
Nur als kleine Anmerkung zu den Zeilen 27 bis 41: Diese sollten sich durch die eine Zeile
if errorlevel 2 set befehl=FEHLER & set body=%logbuch%
Grüße
bastla