EnMan

Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Приветствую присутствующих. В общем была такая собственно нетривиальная (как мне казалось) задача. Раздать пользователям домена файл обмена личной информацией (сертификат). Т.е. импортировать его в личное хранилище сертификатов. Для работы скрипта, выполняющего импорт нужна зарегистрированная в системе библиотека capicom.dll. Было в муках сваяно следующее: Код: Set objShell = WScript.CreateObject("WScript.Shell") USERPROFILE = objShell.ExpandEnvironmentStrings("%USERPROFILE%" & "\") strResult = copyFiles("\\dc\Cert\capicom.dll", USERPROFILE ,"True") strResult = copyFiles("\\dc\Cert\CStore.vbs", USERPROFILE ,"True") strResult = copyFiles("\\dc\Cert\Managers\client.p12", USERPROFILE ,"True") strResult = copyFiles("\\dc\Cert\ImportCert.cmd", USERPROFILE ,"True") 'MsgBox ("regsvr32.exe /s """&USERPROFILE&"CAPICOM.dll""") objShell.Run "regsvr32.exe /s """&USERPROFILE&"CAPICOM.dll""" 'MsgBox ( """"&USERPROFILE&"ImportCert.cmd""" ) objShell.Run """"&USERPROFILE&"ImportCert.cmd""" Function copyFiles(strSrc,strDst,strOverwriteExisting) ' Const OverwriteExisting = True Set objFSO = CreateObject("Scripting.FileSystemObject") objFSO.CopyFile strSrc , strDst , strOverwriteExisting End Function | И вроде как оно работает. Но, естественно, только из под админской учетки. Пользователь не имеет прав на регистрацию библиотеки. И т.к. родной RunAs не имеет возможности работать с комстроки с логином\паролем решил заюзать [HTML=http://www.moernaut.com/default.aspx?item=lsrunas]LSRunAs[/HTML]. Бьюсь вторые сутки, что только не делал, не могу вместо этой строки Код: objShell.Run "regsvr32.exe /s """&USERPROFILE&"CAPICOM.dll""" | написать другую, Код: чтобы regsvr32 /s "С:\Documents and Settings\ПОЛЬЗОВАТЕЛЬ\capicom.dll" | запустилась от пользователя с админскими правами Синтакисис LSRunAs (пример) Код: lsrunas /user:administrator /password:s3cr3tp@ssw0rd /domain:Mydomain / сommand:notepad.exe /runpath:c:\ | Ну с notepad то я запустить могу. Рботает. Пишу: Код: lsrunas /user:administrator /password:s3cr3tp@ssw0rd /domain:Mydomain / сommand:"regsvr32.exe /s """&USERPROFILE&"CAPICOM.dll""" /runpath:c:\ | сасу сасангу Где то у меня ошибка. Где не пойму. Т.к. это, собственно, первый скрипт мой на vbs. Обложился хелпами - но смотрю в книгу, вижу фигу, что называется. |