sziasztok!
van egy script, ami gyárt egy windows-os gépre egy nyomtató telepítő scriptet (.cmdbe lerakja), majd megfelelő joggal távolról meghívja psexec segítségével. a script rém egyszerű, kb az alábbi:
net use p: /d
net use p: \\server\drivershare
call %windir%\system32\regsvr32 /s %windir%\system32\prnadmin.dll
%windir%\system32\cscript c:\tmp\padd.vbs
rundll32 printui,PrintUIEntry /q /if /b "nyominév" /f "drive:\útvonal\inf.inf" /r "portneve" /m "prn model név"
a fenti script eleje bármikor rendesen lefut. viszont a nyomtató nevét variálva (script cseréli ki a megfelelő változókat a megfelelő értékre!) egy nyomtatóra (egy bizonyos) működik, 2 másikra meg nem (még jó, hogy "élesítés" előtt kipróbáltam másik nyomtatóra...).
a telepítés lépése kb ez:
- script felépítése a port létrehozásra (padd.vbs előállítása)
- driver telepítő cmd file előállítása
- psexec-kel való meghívás
az egyes kimeneteket látva mindig minden jól hajtódik végre, viszont a rundll-es sor, ami a drivert az elkészített portra feltelepíti, az nem. próbaképpen megcsináltam azt, hogy amikor előállítottam a cmd állományt és a vbs filet, akkor kézzel lefuttattam a tesztgépen. ekkor bármilyen nyomtatóra működött. amikor sikerült, akkor drivert és portot letöröltem, a scriptet érintetlenül hagytam, és az utsó fázist újra távolról indítottam (psexec a cmd filera).
van valakinek ötlete arra, hogy mi lehet az oka, hogy nem megy? ha egyáltalán nem lehetne így, akkor miért meg az egyikkel? ha mennie kéne, akkor miért nem megy mindegyikkel (továbbá miért mert úgy, hogy drirekt kézzel katt a file-ra).
hátha látja benne valaki a logikát, mert én nem... :/