Script welches alle Benutzer anspricht
Guten Morgen,
ich hab folgende Aufgabe:
Ich soll bei circa 100 Clienten Citrix 11 deinstallieren und den 12er Installieren, jedoch muss ich unter:
C:\Users/"Jeden Benutzer"/desktop
C:\Users/"Jeden Benutzer"/AppData/Roaming/Microsoft/Windows/Startmenü/Programme
C:\Users/"Jeden Benutzer"/AppData/Roaming/Microsoft/Windows/Startmenü/Programme/Autostart
Alle Office-Verknüpfungen + Programm Neighborhood Verknüpfunk löschen.
Und die Citrix 12 - Verknüpfung da reinkopieren.
Und das ganze nochmal mal mit dem Default-Benutzer..
Gibt es irgentwie eine Möglichkeit diese Aufgabenschritte in ein Script zu schreiben ausser evtl. das Citrix 11 deinstallieren und den 12er Clienten zu installieren. Ich wüsste jetzt nicht wie man Jeden Benutzerordner unter C:\Users/ ansprechen könnte..
Gruß,
Jimmy
ich hab folgende Aufgabe:
Ich soll bei circa 100 Clienten Citrix 11 deinstallieren und den 12er Installieren, jedoch muss ich unter:
C:\Users/"Jeden Benutzer"/desktop
C:\Users/"Jeden Benutzer"/AppData/Roaming/Microsoft/Windows/Startmenü/Programme
C:\Users/"Jeden Benutzer"/AppData/Roaming/Microsoft/Windows/Startmenü/Programme/Autostart
Alle Office-Verknüpfungen + Programm Neighborhood Verknüpfunk löschen.
Und die Citrix 12 - Verknüpfung da reinkopieren.
Und das ganze nochmal mal mit dem Default-Benutzer..
Gibt es irgentwie eine Möglichkeit diese Aufgabenschritte in ein Script zu schreiben ausser evtl. das Citrix 11 deinstallieren und den 12er Clienten zu installieren. Ich wüsste jetzt nicht wie man Jeden Benutzerordner unter C:\Users/ ansprechen könnte..
Gruß,
Jimmy
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 245812
Url: https://administrator.de/contentid/245812
Ausgedruckt am: 26.11.2024 um 14:11 Uhr
26 Kommentare
Neuester Kommentar
Servus,
bin mir grad net ganz sicher, aber ich glaube mit C:\Users\Public biste, auch wenn public was anderes vermuten lässt, an der richtigen Stelle.
Aber ganz sicher bin ich mir gerade nicht ...
Zumindest hab ich nen Script, was über den Befehl
del "C:\Users\Public\Desktop\MSYS.lnk" /q /f
ne Verknüpfung löscht, die danach bei allen Usern weg ist.
BTW: Falls Win net überall auf C: ist nimmste
%HOMEDRIVE%\Users\Public\
bin mir grad net ganz sicher, aber ich glaube mit C:\Users\Public biste, auch wenn public was anderes vermuten lässt, an der richtigen Stelle.
Aber ganz sicher bin ich mir gerade nicht ...
Zumindest hab ich nen Script, was über den Befehl
del "C:\Users\Public\Desktop\MSYS.lnk" /q /f
ne Verknüpfung löscht, die danach bei allen Usern weg ist.
BTW: Falls Win net überall auf C: ist nimmste
%HOMEDRIVE%\Users\Public\
Hallo,
das ist aber nur der Fall, solange die Verknüpfung im Public-Ordner liegt und nicht (auch noch) bei den einzelnen Benutzern.
LG,
Florian
das ist aber nur der Fall, solange die Verknüpfung im Public-Ordner liegt und nicht (auch noch) bei den einzelnen Benutzern.
LG,
Florian
Mh, was evtl helfen könnte, wenn ich im Explorer %APPDATA% eingebe, lande ich im Appdata Order des Nutzers, der gerade angemeldet ist.
Ergo müsstest du doch einfach nur nen Skript schreiben, dass nach der Anmeldung des Users ausgeführt wird.
Über den Befehl %APPDATA% landet das Skript dann im Ordner des angemeldeten Users.
EDIT:
Ah, das klappt auf jeden Fall fällt mir gerade auf.
In unserem Netzwerk richtige ich mit diesem Pfad die Signaturen von Outlook von neuen Nutzern immer ein.
Also schreibste einfach nen Skript mit dem %APPDATA% Pfad und das starteste dann über ne Richtlinie beim Anmelden eines Users.
Dann ist alles supi!
So richte ich hier immer die neuen Signaturen für Outlook ein, sobald wa nen neuen Mitarbeiter haben.
Ich melde mich dann einfach bei mir an, schreibe meine eigene Signatur um (ändere Namen etc.).
Und dann läuft dieses Script hier durch
@ echo off
%WINDIR%\regedit.exe /s \\server3\install\Signatur\Test1.reg
%WINDIR%\regedit.exe /s \\server3\install\Signatur\Test2.reg
RMDIR /s /Q %APPDATA%\Microsoft\Signatures\Standard-Dateien
del /f /q %APPDATA%\Microsoft\Signatures\*.*
xcopy \\server3\install\Signatur\Neuer Benutzer\*.* %APPDATA%\Microsoft\Signatures\ /h /e /c /y
Wobei das Scipt wie folgt startet:
Benutzerkonfiguration
- Richtlinien
-- Windows-Einstellungen
--- Skripts
Anmelden
Damit klappt das ganz wunderbar und es wird in den Ordner des angemeldeten Users kopiert. Ergo kannst darüber auch Verknüpfungen oder so von dem jeweiligen Ordner in seinem Users\ Ordner löschen.
Ergo müsstest du doch einfach nur nen Skript schreiben, dass nach der Anmeldung des Users ausgeführt wird.
Über den Befehl %APPDATA% landet das Skript dann im Ordner des angemeldeten Users.
EDIT:
Ah, das klappt auf jeden Fall fällt mir gerade auf.
In unserem Netzwerk richtige ich mit diesem Pfad die Signaturen von Outlook von neuen Nutzern immer ein.
Also schreibste einfach nen Skript mit dem %APPDATA% Pfad und das starteste dann über ne Richtlinie beim Anmelden eines Users.
Dann ist alles supi!
So richte ich hier immer die neuen Signaturen für Outlook ein, sobald wa nen neuen Mitarbeiter haben.
Ich melde mich dann einfach bei mir an, schreibe meine eigene Signatur um (ändere Namen etc.).
Und dann läuft dieses Script hier durch
@ echo off
%WINDIR%\regedit.exe /s \\server3\install\Signatur\Test1.reg
%WINDIR%\regedit.exe /s \\server3\install\Signatur\Test2.reg
RMDIR /s /Q %APPDATA%\Microsoft\Signatures\Standard-Dateien
del /f /q %APPDATA%\Microsoft\Signatures\*.*
xcopy \\server3\install\Signatur\Neuer Benutzer\*.* %APPDATA%\Microsoft\Signatures\ /h /e /c /y
Wobei das Scipt wie folgt startet:
Benutzerkonfiguration
- Richtlinien
-- Windows-Einstellungen
--- Skripts
Anmelden
Damit klappt das ganz wunderbar und es wird in den Ordner des angemeldeten Users kopiert. Ergo kannst darüber auch Verknüpfungen oder so von dem jeweiligen Ordner in seinem Users\ Ordner löschen.
Hallo,
was ich auf die Schnelle gefunden habe:
http://boards.straightdope.com/sdmb/showthread.php?t=431494
Das müsstest du natürlich anpassen - aber damit sollte es klappen
was ich auf die Schnelle gefunden habe:
http://boards.straightdope.com/sdmb/showthread.php?t=431494
Das müsstest du natürlich anpassen - aber damit sollte es klappen
Hallo JimStar!
Anstelle der Zeile 2 dann natürlich Deine Lösch- und Kopierbefehle (auch mehrere Zeilen möglich) ...
Grüße
bastla
Ich wüsste jetzt nicht wie man Jeden Benutzerordner unter C:\Users/ ansprechen könnte..
In einem Batch etwa mit folgender Schleife:for /d %%i in ("C:\Users\*") do (
echo Bearbeite "%%i"
)
Grüße
bastla
Hallo,
wie wäre es denn, wenn du das original-Script von @bastla mal mit einem "pause" erweiterst?
Dann hält das Script am Ende an und du wirst du Namen angezeigt bekommen...
wie wäre es denn, wenn du das original-Script von @bastla mal mit einem "pause" erweiterst?
for /d %%i in ("C:\Users\*") do (
echo Bearbeite "%%i"
)
pause
Dann hält das Script am Ende an und du wirst du Namen angezeigt bekommen...
... und abgesehen davon würde ohnehin nur eine einzige "test.txt" im Ordner, aus dem der Batch gestartet wurde, erstellt ...
Um tatsächlich in jedem Profilordner die "text.txt" zu erzeugen (würde ich nicht machen, aber gelöscht werden kann sie dann ja mit der gleichen Schleife ) wäre die Zeile 2 auf
abzuwandeln.
Und noch zu:
Grüße
bastla
Um tatsächlich in jedem Profilordner die "text.txt" zu erzeugen (würde ich nicht machen, aber gelöscht werden kann sie dann ja mit der gleichen Schleife ) wäre die Zeile 2 auf
echo Hallo >"%%~i\test.txt"
Und noch zu:
Dann hält das Script am Ende an und du wirst du Namen angezeigt bekommen...
Sinnvoller Vorschlag - aber noch sinnvoller ist es, einen Batch in einem vorher geöffneten CMD-Fenster zu testen (das bleibt dann, wenn nicht unnötiger Weise ein "exit
" verwendet wird, ohnehin offen). In den Eigenschaften dieses Fensters (Klick auf das schwarze Symbol links in der Titelleiste) lässt sich dann noch unter "Layout" eine "Fensterpuffergröße" von bis zu 9.999 Zeilen einstellen, wodurch entsprechend weit nach oben gescrollt werden kann.Grüße
bastla
Wieso denn so unglaublich umständlich?
Mach es über die Richtlinien.
Sobald sich nen User anmeldet geht das Skript an und löscht in dem %AppData% Ordner die File.
Darüber wirst zwar net auf einmal alle PCs bereinigt haben, aber sobald sich jeder User einmal angemeldet hat gibts die File nirgends mehr im pers. User Ordner.
Mach es über die Richtlinien.
Sobald sich nen User anmeldet geht das Skript an und löscht in dem %AppData% Ordner die File.
Darüber wirst zwar net auf einmal alle PCs bereinigt haben, aber sobald sich jeder User einmal angemeldet hat gibts die File nirgends mehr im pers. User Ordner.
Mh, im Grunde kannst du beides über die Richtlinien lösen.
Du schreibst ein Script, dass Citrix installiert und eines, dass die besagten Verknüpfungen und Programme löscht.
Du definierst dann in den Gruppenrichtlinien einfach, dass beide Scripte beim Anmelden eines Users starten solln (die Reihenfolge kannst ja auch festlegen)...
Oder, noch geschickter, beim Herunterfahren (dann bekommt der Anwender das in der Regel nicht mit). Das heißt, wenn der Anwender das nächste mal den Rechner herunter fährt springen beide Scripte an. Beim nächsten Hochfahren ist Citrix installiert und der Rest gelöscht...
Kannst mich gern anschreiben, falls du Hilfe brauchst mit den Richtlinien oder den Scripten.
Du schreibst ein Script, dass Citrix installiert und eines, dass die besagten Verknüpfungen und Programme löscht.
Du definierst dann in den Gruppenrichtlinien einfach, dass beide Scripte beim Anmelden eines Users starten solln (die Reihenfolge kannst ja auch festlegen)...
Oder, noch geschickter, beim Herunterfahren (dann bekommt der Anwender das in der Regel nicht mit). Das heißt, wenn der Anwender das nächste mal den Rechner herunter fährt springen beide Scripte an. Beim nächsten Hochfahren ist Citrix installiert und der Rest gelöscht...
Kannst mich gern anschreiben, falls du Hilfe brauchst mit den Richtlinien oder den Scripten.
Zitat von @JimStar:
Ich vermute es liegt am * welches Windows nicht verwenden kann wenn es mittendrin im Pfad steht. Werde es einfach Manuell machen,
Ich vermute es liegt am * welches Windows nicht verwenden kann wenn es mittendrin im Pfad steht. Werde es einfach Manuell machen,
Poste doch mal bitte den Inhalt deiner Batch-File. Ich glaube da liegt der Hund begraben. In der Lösung von Bastla ist kein * im Pfad!!
Hab ich doch weiter oben schon einmal gemacht gehabt ... aber gern noch einmal:
@ echo off
%WINDIR%\regedit.exe /s \\server3\install\Signatur\Test1.reg
%WINDIR%\regedit.exe /s \\server3\install\Signatur\Test2.reg
RMDIR /s /Q %APPDATA%\Microsoft\Signatures\Standard-Dateien
del /f /q %APPDATA%\Microsoft\Signatures\*.*
xcopy \\server3\install\Signatur\Neuer Benutzer\*.* %APPDATA%\Microsoft\Signatures\ /h /e /c /y
hat nun natürlich gar nichts mit dem hier beschriebenen Prob zu tun, bis auf die Tatsache, dass das Script den AppData Ordner aufruft.
Bei dem Script geht es, wie oben beschrieben, darum, dass jeder User seine eigene Signatur bei Outlook bekommt, die in den Ordner des angemeldeten Users kopiert wird.
Einfach Pfad ändern und del benutzen und schon gehts los mit dem Löschen der Verknüpfungen. Installieren tut man einfach über das Auftrufen der Exe. zB
\\SERVER3\Install\pdf24creator\pdf24-creator-6.7.0.exe /VERYSILENT
wobei /VERYSILENT nur sagt, dass keine Abfragen oder dergleichen kommen, also einfach installiert wird ohne, dass der User das mit bekommt oder etwas gefragt wird. Die Installation erfolgt dann nach den Standardeinstellungen.
@ echo off
%WINDIR%\regedit.exe /s \\server3\install\Signatur\Test1.reg
%WINDIR%\regedit.exe /s \\server3\install\Signatur\Test2.reg
RMDIR /s /Q %APPDATA%\Microsoft\Signatures\Standard-Dateien
del /f /q %APPDATA%\Microsoft\Signatures\*.*
xcopy \\server3\install\Signatur\Neuer Benutzer\*.* %APPDATA%\Microsoft\Signatures\ /h /e /c /y
hat nun natürlich gar nichts mit dem hier beschriebenen Prob zu tun, bis auf die Tatsache, dass das Script den AppData Ordner aufruft.
Bei dem Script geht es, wie oben beschrieben, darum, dass jeder User seine eigene Signatur bei Outlook bekommt, die in den Ordner des angemeldeten Users kopiert wird.
Einfach Pfad ändern und del benutzen und schon gehts los mit dem Löschen der Verknüpfungen. Installieren tut man einfach über das Auftrufen der Exe. zB
\\SERVER3\Install\pdf24creator\pdf24-creator-6.7.0.exe /VERYSILENT
wobei /VERYSILENT nur sagt, dass keine Abfragen oder dergleichen kommen, also einfach installiert wird ohne, dass der User das mit bekommt oder etwas gefragt wird. Die Installation erfolgt dann nach den Standardeinstellungen.
Hey ho ...,
jenau, wolln wa mal auseinander nehmen:
-- Jup, sehe ich genauso, diese .reg Dinger brauchst du nicht. Wie gesagt, habe nur blind irgend nen Script hier mal rein kopiert...
Also, das Script klappt so, dass mit dem RMDIR nen kompletter Ordner gelöscht wird und zwar in dem Moment, wo sich ein User anmeldet.
Sprich:
-- Wenn sich Frau Müller jetzt anmeldet, dann geht das Script (durch die Benutzerrichtlinien) an. Es passiert folgendes, dass der Ordner "Standatd-Datein" gelöscht wird und zwar im %AppData% Ordner welcher sich im Userordner "Müller" befindet (sonst gibt einfach mal im Win Explorer %Appdata% ein...).
Soll heißen, du löscht nicht mit einem Schlag alle Standard-Dateien Ordner eines jeden Nutzers, sondern das ganze braucht so lange Zeit, bis sich jeder Benutzer einmal angemeldet hat. Aber wenn ich dein Prob richtig verstanden habe dürfte das ja kein Problem sein -oder?
btw, ich glaube dein Befehl der Wahl ist
%UserProfile%
jenau, wolln wa mal auseinander nehmen:
-- Jup, sehe ich genauso, diese .reg Dinger brauchst du nicht. Wie gesagt, habe nur blind irgend nen Script hier mal rein kopiert...
Also, das Script klappt so, dass mit dem RMDIR nen kompletter Ordner gelöscht wird und zwar in dem Moment, wo sich ein User anmeldet.
Sprich:
-- Wenn sich Frau Müller jetzt anmeldet, dann geht das Script (durch die Benutzerrichtlinien) an. Es passiert folgendes, dass der Ordner "Standatd-Datein" gelöscht wird und zwar im %AppData% Ordner welcher sich im Userordner "Müller" befindet (sonst gibt einfach mal im Win Explorer %Appdata% ein...).
Soll heißen, du löscht nicht mit einem Schlag alle Standard-Dateien Ordner eines jeden Nutzers, sondern das ganze braucht so lange Zeit, bis sich jeder Benutzer einmal angemeldet hat. Aber wenn ich dein Prob richtig verstanden habe dürfte das ja kein Problem sein -oder?
btw, ich glaube dein Befehl der Wahl ist
%UserProfile%
Also für deine Ordner
C:\Users/"Jeden Benutzer"/desktop
C:\Users/"Jeden Benutzer"/AppData/Roaming/Microsoft/Windows/Startmenü/Programme
C:\Users/"Jeden Benutzer"/AppData/Roaming/Microsoft/Windows/Startmenü/Programme/Autostart
Alle Office-Verknüpfungen + Programm Neighborhood Verknüpfunk löschen.
Und die Citrix 12 - Verknüpfung da reinkopieren.
@ echo off
del %UserProfile%\Desktop\Verknüpfung.lnk
del %APPDATA%\Roaming/Microsoft/Windows/Startmenü/Programme\Verknüfpung.lnk
del %APPDATA%\Roaming/Microsoft/Windows/Startmenü/Programme\\Autostart\Verknüfpung.lnk
:end
C:\Users/"Jeden Benutzer"/desktop
C:\Users/"Jeden Benutzer"/AppData/Roaming/Microsoft/Windows/Startmenü/Programme
C:\Users/"Jeden Benutzer"/AppData/Roaming/Microsoft/Windows/Startmenü/Programme/Autostart
Alle Office-Verknüpfungen + Programm Neighborhood Verknüpfunk löschen.
Und die Citrix 12 - Verknüpfung da reinkopieren.
@ echo off
del %UserProfile%\Desktop\Verknüpfung.lnk
del %APPDATA%\Roaming/Microsoft/Windows/Startmenü/Programme\Verknüfpung.lnk
del %APPDATA%\Roaming/Microsoft/Windows/Startmenü/Programme\\Autostart\Verknüfpung.lnk
:end
Hallo JimStar,
ich könnte mir vorstellen, dass du bei der Anmeldung keine Berechtigungen für die entsprechenden Ordner hast!
Erscheint ggf. eine Fehlermeldung "Zugriff verweigert" wenn du das Script per Hand ausführst?
LG,
Florian
ich könnte mir vorstellen, dass du bei der Anmeldung keine Berechtigungen für die entsprechenden Ordner hast!
Erscheint ggf. eine Fehlermeldung "Zugriff verweigert" wenn du das Script per Hand ausführst?
LG,
Florian