jimstar
Goto Top

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

Content-Key: 245812

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

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

Member: geo-id
geo-id Aug 07, 2014 updated at 06:18:21 (UTC)
Goto Top
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\
Mitglied: 110135
110135 Aug 07, 2014 at 06:18:19 (UTC)
Goto Top
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
Member: geo-id
geo-id Aug 07, 2014 updated at 06:36:58 (UTC)
Goto Top
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.
Mitglied: 110135
110135 Aug 07, 2014 at 06:33:04 (UTC)
Goto Top
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 face-smile
Member: bastla
bastla Aug 07, 2014 at 06:35:17 (UTC)
Goto Top
Hallo JimStar!
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"  
)
Anstelle der Zeile 2 dann natürlich Deine Lösch- und Kopierbefehle (auch mehrere Zeilen möglich) ...

Grüße
bastla
Member: JimStar
JimStar Aug 07, 2014 updated at 08:00:43 (UTC)
Goto Top
Hallo bastla,

Ich hab noch nicht so die Ahnung von Batchdateien..
Ich habe jetzt folgendes probiert:
for /d %%i in ("C:\Users\*") do (  
    echo Hallo > test.txt 
) 


Und es hat leider nicht geklappt..


Gruß
Member: bastla
bastla Aug 07, 2014 at 16:13:46 (UTC)
Goto Top
Hallo JimStar!
Und es hat leider nicht geklappt..
Na das nenn' ich mal ne Fehlermeldung / Problembeschreibung ...

Grüße
bastla
Member: JimStar
JimStar Aug 08, 2014 at 08:29:44 (UTC)
Goto Top
Hallo bastla,
ich habe keine Fehlermeldung bekommen..
Nach dem Ausführen der Batch als Administrator wurde die Datei test.txt in keinem Ordner erstellt.

Gruß
JimStar
Mitglied: 110135
110135 Aug 08, 2014 at 08:32:32 (UTC)
Goto Top
Hallo,

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...
Member: bastla
bastla Aug 08, 2014 at 10:14:47 (UTC)
Goto Top
... 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 face-wink) wäre die Zeile 2 auf
echo Hallo >"%%~i\test.txt"
abzuwandeln.

Und noch zu:
Dann hält das Script am Ende an und du wirst du Namen angezeigt bekommen...
Sinnvoller Vorschlag face-smile - 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
Member: geo-id
geo-id Aug 08, 2014 at 10:25:57 (UTC)
Goto Top
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.
Member: JimStar
JimStar Aug 08, 2014 at 12:54:25 (UTC)
Goto Top
Hallo geo-id.

Ich bin leider erst im ersten Ausbildungsjahr (01.08.14) angefangen und hab noch keine Rechte bzw. richtige Ahnung vom richtigen erstellen der Gruppenrichtlinie. Zudem wäre es meiner Meinung nach nicht sinnvoll den Mitarbeitern die Verknüpfungen von Office zu löschen bevor das neue Citrix installiert ist, denn Mitarbeiter die wenig Kenntnis von Computern haben werden sicher nicht auf die Idee kommen das es nur eine Verknüpfung war.
Und das würde uns ja zwingen an einem Tag fix alle 100-150 Rechner ab zu arbeiten.

Gruß
JimStar
Member: JimStar
JimStar Aug 08, 2014 updated at 12:58:02 (UTC)
Goto Top
Hallo Bastla!

Danke für die Syntax ich werds am Montag ausprobieren face-smile
Denn deine Methode scheint mir am sinnvollsten per cmd-script lokal alles zu erledigen.

Gruß,
JimStar
Member: JimStar
JimStar Aug 11, 2014 at 11:21:36 (UTC)
Goto Top
Hallo bastla,

habe es ausprobiert und es hat wieder nicht funktioniert, in der cmd steht nur nochmal der Befehl, keine Fehlermeldung...
Ich vermute es liegt am * welches Windows nicht verwenden kann wenn es mittendrin im Pfad steht. Werde es einfach Manuell machen, dann hab ich ja was zu tun :P
Trotzdem Danke !

Gruß
JimStar
Member: geo-id
geo-id Aug 11, 2014 at 11:28:16 (UTC)
Goto Top
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.
Mitglied: 110135
110135 Aug 11, 2014 at 11:38:41 (UTC)
Goto Top
Zitat von @JimStar:
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!!
Member: geo-id
geo-id Aug 11, 2014 at 11:53:00 (UTC)
Goto Top
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.
Member: geo-id
geo-id Aug 11, 2014 at 11:53:51 (UTC)
Goto Top
Zu beachten bei Verknüpfungen, die Endung lautet .lnk ...
Member: JimStar
JimStar Aug 12, 2014 at 09:27:47 (UTC)
Goto Top
for /d %%i in ("C:\Users\*") do (   



    echo Hallo >"%%~i\desktop\test.txt"  

)
pause
Member: JimStar
JimStar Aug 12, 2014 at 09:46:13 (UTC)
Goto Top
@ 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

Hallo Geo-ID,
ich versuch jetzt mal dein Script auseinander zu nehmen..
in den ersten 2 Zeilen Bindest du ja einen bzw zwei Registrywerte ein die in der .reg datei gespeichert sind, ich gehe mal von aus dass ich das nicht brauche. Oder?
Für mich wäre zeile 3-5 Wichtig, welche ich aber leider nicht verstehe...
Im Ordner %AppData% finde ich ja nur die "Sachen" von dem angemeldeten Benutzer aber ich will ja alle Benutzer ansprechen.
Des Weiteren muss ich ja auch zum Ordner /Users/*/Desktop...
Member: geo-id
geo-id Aug 12, 2014 at 09:57:47 (UTC)
Goto Top
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%
Member: geo-id
geo-id Aug 12, 2014 at 10:01:16 (UTC)
Goto Top
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
Mitglied: 110135
110135 Aug 12, 2014 at 10:14:34 (UTC)
Goto Top
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
Member: JimStar
JimStar Aug 12, 2014 at 11:14:58 (UTC)
Goto Top
Hallo flow.ryan.

Ich führe die Batch als Administrator aus und meld mich dann mit einem Adminkonto an, welches aufjedenfall Rechte dazu hat.
Es erscheint leider keine Fehlermeldung..


Gruß
Jimmy
Member: JimStar
JimStar Aug 12, 2014 at 11:17:39 (UTC)
Goto Top
Klappt die Batch-Datei denn bei euch ?
Habt ihr es mal ausprobiert, wäre gut zu wissen ob das script klappen muss, weil es bei euch geklappt hat face-smile

Gruß
Member: JimStar
JimStar Aug 12, 2014 at 11:20:14 (UTC)
Goto Top
Hey,
ich kann mir vorstellen, dass das klappen würde aber nicht meinem Ziel entspricht.
Ich würde gerne z.B. durch eine Batch Datei die ganzen Verknüpfungen löschen und die neue Citrix Verknüpfung reinkopieren um danach noch manuell ein paar Einstellungen und Erklärungen machen kann.

Gruß