alexandro
Goto Top

Windwos 7 Dateien mit RUNAS unter anderem Nutzer austauschen

Guten Tag,

ich möchte eine dll-Datei im System32-Verzeichnis mit Hilfe einer Batch-Datei austauschen.

Es soll eine Datei im System32 -Verzeichnis ersetzt und neu registriert werden. Diese DLL-Datei liegt momentan auf dem Server.
Ich habe bereits versucht diese Arbeitsschritte zu trennen.
Zuerst soll die Datei vom Server nach lokal kopiert werden. Anschließend dann mit dem lokalen Administrator im System32-Verzeicnis ersetzt und neu registriert werden. Dieser Versuch sieht wie folgt aus:
1:) 
copy \\SERVER\Verzeichnis\Datei.dll  C:\Temp\Datei.dll

runas /user:administrator /savecred "\\SERVER\Verzeichniss\Registrieren.bat  
pause
in der Registrieren.bat steht folgender Inhalt:
regsvr32 -u -s                     %SystemRoot%\System32\Datei.dll 
del                                %SystemRoot%\System32\Datei.dll
copy C:\Temp\Datei.dll  %SystemRoot%\System32\Datei.dll
regsvr32 -s                        %SystemRoot%\System32\Datei.dll
pause
Als Fehler erhalte ich folgende Meldung:
"997: Überlappender E/A-Vorgang wird verarbeitet"  
Die Datei lässt sich leider nicht ersetzen.

Merkwürdig dabei ist, wenn cih die Datei manuell vom Server ins System32 Verzeichnis kopiere funktioniert das problemlos, ich erhalte nur zwei Benutzerkontenabfragen.
Nun vermute ich, dass genau diese Benutezrkontenabfragen, das Ausführen der Batch-Datei verhindern.

Kennt jemand von euch dieses Problem und ggf. eine Lösung / work around?

Klar besteht die Möglichkeit, die Datei manuell zu ersetzen, da müsste ich jedoch an jeden PC im Netzwerk ran - den Aufwand will ich vermeiden!

thx

Content-Key: 139936

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

Printed on: April 16, 2024 at 19:04 o'clock

Member: Connor1980
Connor1980 Apr 06, 2010 at 11:55:24 (UTC)
Goto Top
Welches Windows 7 ist es genau? Home/Pro/Ultimate/32/64bit?
Member: DerWoWusste
DerWoWusste Apr 06, 2010 at 12:25:01 (UTC)
Goto Top
Hi.
Nimm ein Startskript. Das arbeitet ohne Kennwortübergabe mit dem Systemkonto und es interessiert sich auch nicht für die UAC-Abfragen.
Member: Alexandro
Alexandro Apr 06, 2010 at 13:38:04 (UTC)
Goto Top
Windows 7 Professional

Wo bekomm ich ein Startscript her bzw. wo richte ich das ein? steh grad auf dem Schlauch!
Member: DerWoWusste
DerWoWusste Apr 06, 2010 at 13:49:43 (UTC)
Goto Top
EIn Domänenstartskript ist Teil einer GPO - falls Ihr eine Domäne einsetzt.
Member: Alexandro
Alexandro Apr 07, 2010 at 06:11:05 (UTC)
Goto Top
Also ich nutze bereits ein Startscript!
Dieses führt auch genau die oben aufgeführten Befehle aus, leider ohne erfolg!

Die UAC wird irgendwie nicht ignoriert und ich suche momentan nach einer Lösung!

was kann ich nun machen? Gibt es eine andere Lösung?
Member: Connor1980
Connor1980 Apr 07, 2010 at 07:26:35 (UTC)
Goto Top
Nochmal die Frage ob 32 oder 64 Bit: bei einem 64Bit-System könnte es sein, das das OS meint es wäre eine anfrage von einer 32bit Applikation, dann wird die Anfrage die Datei zu ersetzen von Wow64 auf den syswow64 Ordner umgeleitet. Evtl. hängt es da dran ...
Member: Alexandro
Alexandro Apr 07, 2010 at 07:34:16 (UTC)
Goto Top
Es handelt sich um 32-Bit Windows 7 sowie Vista Rechner.

Bei den älteren XP Clients funktioniert, das oben beschriebene Script problemlos!
Member: DerWoWusste
DerWoWusste Apr 07, 2010 at 07:48:14 (UTC)
Goto Top
"Du nutzt kein Startskript, sonst ginge es" - mal ganz platt gesprochen. Kann es sein, das Du Startskripte mit Anmeldeskripten verwechselst?
@connor: das mit wow64 musst Du erklären - in welchem Fall wird da umgeleitet? Ganz bestimmt nicht.
Member: Alexandro
Alexandro Apr 07, 2010 at 08:21:03 (UTC)
Goto Top
Das kann gut möglich sein, dass ich Start und Anmeldescripte verwechsle!

Das Script, welches bei der DOMainanmeldung startet, wurde im AD beim Benutzer eingetragen.
Es läuft direkt nach der DOM-Anmeldung, sichtbar für den Nuter durch!

WO und WIE definiere ich ein Startscript?
Member: DerWoWusste
DerWoWusste Apr 07, 2010 at 08:25:35 (UTC)
Goto Top
Das im Benutzerobjekt eingetragene ist ein Anmeldeskript.
Was Du brauchst findet sich in einer (zu erstellenden) GPO im Bereich Computerkonfig - Windowseinstellungen - Skripte - Starten.
Member: Connor1980
Connor1980 Apr 07, 2010 at 09:14:39 (UTC)
Goto Top
Zitat von @DerWoWusste:
@connor: das mit wow64 musst Du erklären - in welchem Fall wird da umgeleitet? Ganz bestimmt nicht.
Da er kein 64bit System verwendet, trifft es ja nicht zu, meine Vermutung war also falsch. War mir nur in den Sinn gekommen, da ich selber schonmal über eine ähnliche Situation gestolpert bin, etwas in System32 gesucht hatte, was aber in Syswow64 abgelegt wurde, das nur kurz ab Rande.
Member: DerWoWusste
DerWoWusste Apr 07, 2010 at 09:28:43 (UTC)
Goto Top
@connor
schon richtig, aber dies trifft nicht bei Skripten zu, in denen explizit drinsteht "kopiere nach system32", Windows nimmt sich nicht einfach heraus, dann nach syswow64 zu kopieren.
Member: Alexandro
Alexandro Apr 08, 2010 at 14:45:13 (UTC)
Goto Top
ok, danke erstmal!
Das bedeutet, ich muss an jedem Arbeitplatz das gewünschte Script die die GPO eintragen?
oder kann ich nicht irgendwo am Server definieren, dass ebend dieses Script einmalig ausgeführt wird an allen Clients?

Wie werden in eurem Netzwerk Änderungen an DLL-Dateien ausgetauscht? Solch eine Änderung kann ja desöfteren mal auftreten!

Lgs
Member: DerWoWusste
DerWoWusste Apr 08, 2010 at 17:23:41 (UTC)
Goto Top
Eine Domänen-GPO richtet man nicht am Arbeitsplatz ein, sondern am Domänencontroller. Du kannst das Skript prüfen lassen, ob die dlls schon da sind und dann erst danach handeln.
Ich mach das über GPPs, siehe MS kb943729.