admin580
Goto Top

Einen Ordner per Skript in jedes bestehende Userprofil kopieren

Hallo zusammen,

ich bin mal wieder auf der Suche nach einem Skript.

Und zwar möchte ich von zentraler Stelle auf mehrere PC's einen Dateiordner in jedes bestehende Userprofil kopieren. Leider habe ich keine Idee, wie ich das realisieren könnte.

In diesem Thread: Kopieren einer Datei ins das User-Profile=profile+script+kopieren gibt es ja ein ähnliches Anliegen, aber leider hilft mir das nicht weiter. Ich möchte nämlich nicht per Anmeldeskript arbeiten, sondern die Verteilung zentral vornehmen.

Hat jemand eine Idee?

Unsere PC's laufen allesamt mit Windows XP und sind in einem Netzwerk verbunden (alle in einer Domäne).
Falls noch Daten benötigt werden, liefer ich die gerne nach.

Vielen Dank schon mal im Voraus!

Gruß
Thomas

Content-ID: 90098

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

Ausgedruckt am: 22.11.2024 um 19:11 Uhr

floetenfranz
floetenfranz 18.06.2008 um 10:35:53 Uhr
Goto Top
2 Stichpunkte:
- NETLOGON Share des DC; da packste den zu kopierenden ordner rein
- anmeldeskript erweitern, um diesen Ordner in das userprofil; z.B. Desktop zu kopieren.

check mal

salut
Admin580
Admin580 18.06.2008 um 11:08:53 Uhr
Goto Top
Hi 'floetenfranz',

danke für Deine Antwort. Aber leider hilft mir das nicht weiter. Wie oben geschrieben möchte ich NICHT mit Anmeldeskript arbeiten. Ich möchte den Kopiervorgang
zentral vornehmen.

Gruß
Thomas
floetenfranz
floetenfranz 18.06.2008 um 11:15:23 Uhr
Goto Top
hallöle admin580

1. wie stellst du dir denn das "zentral" vor?
2. sollen die daten einmalig ins Userprofil, oder bei jeder anmeldung?

salut
tacker
tacker 18.06.2008, aktualisiert am 18.10.2012 um 18:35:52 Uhr
Goto Top
salü admin

sieh dir ma folgenden thread an: Dateien im Netz verteilen - unterschiedliche Zielpfade ermitteln

ich habe dort ein vbscript gepostet, welches mit leichter abänderung genau das macht, was du brauchst! bei fragen einfach hier posten!

dabei werden die gewünschten pc's einer nach dem anderen gemappt und an gewünschte orte dateien kopiert! voraussetzung ist, dass du eine liste aller clients hast!

gruss tacker
Admin580
Admin580 18.06.2008 um 11:50:47 Uhr
Goto Top
Hallo nochmal,

zentral heißt per Altiris (Softwareverteilung). Dort würde ich über Nacht ein Programm installieren lassen und anschließend noch per Skript den
Order ins Userprofil kopieren. (wenn ich denn eine Lösung finde)

Und das ganze soll einmalig passieren.

Gruß

Thomas
Admin580
Admin580 18.06.2008 um 11:59:19 Uhr
Goto Top
Hallo Tacker,

herzlichen Dank für Deine Antwort.

Diese Lösung sieht doch schon ziemlich passend aus.. Aber leider hab ich nicht wirklich Ahnung von VBS-Scripten.
Ich müsste das für meine Zwecke etwas modifizieren. Wärst du so freundlich, mir das Skript anzupassen?

Der Quellordner liegt schon lokal auf dem Rechner (habe ich vorher schon rüberkopiert) auf D:\Temp (also D:\Temp\Quellordner).
Der Zielordner soll jeweils unter %Userprofil%\Anwendungsdaten (also %Userprofil%\Anwendungsdaten\Zielordner) gespeichert werden.

Der einzige Makel wäre (wenn wir das VBS-Script so anpassen, dass immer der Ordner Anwendungsdaten gesucht wird und da dann reinkopiert wird), dass es Anwendungsdaten auch unter %Userprofil%\Lokale Einstellungen gibt. Aber ich denke, das wäre nicht das Problem. Dann lümmeln die Daten eben da auch rum...

Gruß & schon mal Danke
Thomas
tacker
tacker 18.06.2008 um 13:26:48 Uhr
Goto Top
salü

hier ein angepasstes script!

dim fso
dim network

set fso = createobject("Scripting.filesystemobject")  
set network = createobject("wscript.network")  

set pcs = fso.opentextfile("Rechner.txt", 1)  

do while not pcs.atendofstream

	pcname = pcs.readline()
	network.mapnetworkdrive "P:", "\\" & pcname & "\c$\Dokumente und Einstellungen\", false  
	set folder = fso.getfolder("P:\")  
	    
	for each subfolder in folder.subfolders
        	kopieren(subfolder.path)
	next

	network.removenetworkdrive "P:", true, true  
loop
    
function kopieren(ordner)
	fso.copyfolder "D:\Temp\Quellordner", ordner & "\Anwendungsdaten\"  
end function

zuerst musst du mir jedoch nochmals erklären um wie viele pc's es sich da handelt auf die der ordner verteilt werden soll! hast du nun auf all diese rechner bereits den ordner in C:\temp kopiert?

denn dieses script verteilt die ordner von einer lokalen stelle aus an alle rechner, welche in einem testfile vorkommen! dieses textfile "Rechner.txt", welches am gleichen ort wie das script liegen müsste, sieht dann wie folgt aus!

rechnername1
rechnername2
...

PS: ansonsten könnte man die files natürlich auch in den anwendungsdaten-ordner des "all-users" werfen...

gruss tacker
Admin580
Admin580 18.06.2008 um 13:42:15 Uhr
Goto Top
Hallo tacker,

...
zuerst musst du mir jedoch nochmals erklären um wie viele pc's es sich da handelt auf die der ordner verteilt werden soll! hast du nun auf all diese rechner bereits den ordner in C:\temp kopiert?

--> Es werden nach und nach so ca. 100 Stück werden. Aber theoretisch wäre es besser, wenn ich das Script lokal auf dem PC laufen lassen könnte. Dazu
bräuchte ich dann die Datei Rechner.txt eigentlich nicht.
(zur Erklärung: Im Altiris würde ich einen Job definieren: 1. kopiere alle benötigten Dateien auf den Rechner in D:\temp ; 2. starte D:\temp\tackers.vbs (und kopiere
dadurch meinen Ordner in jedes Userprofil)

Wenn es allerdings so nicht läuft, dann würde ich auch o.g. Variante nehmen. Da wären es dann pro Durchgang max. 10 Rechner (nur die, die gerade benötigt werden)

Ich hoffe, du kannst meinen Gedanken folgen... Ansonsten mach ich jetzt erstmal Feierabend und schaue morgen wieder rein. Also - keine panik.

Gruß
Thomas
Admin580
Admin580 19.06.2008 um 10:37:19 Uhr
Goto Top
Moin Tacker,

hab ich dich jetzt verschreckt?

Gruß Thomas
Admin580
Admin580 19.06.2008 um 13:01:31 Uhr
Goto Top
Hallo Tacker,

habe es jetzt mit deinem Skript probiert. Leider kommt bei Zeile 12 ein Fehler (Mappen des Laufwerks):

Der angegebene Netzwerkpfad wurde von keinem Netzwerdienstanbieter angenommen.

Schönen Gruß
Thomas
Admin580
Admin580 19.06.2008 um 14:08:05 Uhr
Goto Top
So, habs jetzt.

Für meine Zwecke war die abgespeckte Variante von Tackers Skript ausreichend. Den Ordner hatte ich ja schon im Vorfeld auf den Zielrechner in D:\Temp
kopiert. Jetzt habe ich einfach auch das u.g. Skript in D:\temp auf den Zielrechner kopiert und per Altiris "gesagt": Starte das Skript "D:\temp\skript.vbs".

An dieser Stelle nochmals vielen Dank an Tacker für die Lösung. Ich setz es gleich auf gelöst.

Liebe Grüße
Thomas

dim fso
dim network

set fso = createobject("Scripting.filesystemobject")  

	set folder = fso.getfolder("c:\Dokumente und Einstellungen\")  
	    
	for each subfolder in folder.subfolders
        	kopieren(subfolder.path)
	next

    
function kopieren(ordner)
	fso.copyfolder "D:\Temp\Quellordner", ordner & "\Anwendungsdaten\"  
end function