Цитата NewOLDi:
Как его выполнить от учётной записи текущего пользователя »
|
Не завершать первый запуск скрипта, пока не будут выполнены все задачи под пользователем.
Перепланируйте задачу так, чтобы первый запуск скрипта был главным, и единственным запуском под пользователем, а все админские запуски выполнялись из него, например так:
Код:

; Описание всех админских процедур
If $CmdLine[0] Then
Select
Case $CmdLine[1] == '1'
MsgBox(0, 'Сообщение', 'Процедура 1 запущена под пользователем '& @UserName)
Exit 0
Case $CmdLine[1] == '2'
MsgBox(0, 'Сообщение', 'Процедура 2 запущена под пользователем '& @UserName)
Exit 0
Case Else
Exit -1
EndSelect
EndIf
; Запуск процедуры 1 по админом
RunAsWait ( 'Administrator', @ComputerName, 'пароль', 1, @ScriptDir & '\' & @ScriptName & ' 1' )
; Выполнение команды под пользователем
FileWrite ( '\\сетевой путь\имя файла1' )
; Запуск процедуры 2 по админом
RunAsWait ( 'Administrator', @ComputerName, 'пароль', 1, @ScriptDir & '\' & @ScriptName & ' 2' )
; Выполнение команды под пользователем
FileWrite ( '\\сетевой путь\имя файла2' )