Что нового

Передача команд в CMD

evgeniy1000

Новичок
Сообщения
10
Репутация
0
Проблема следующая - запускаю с правами админа cmd, но не могу туда отправить команды. Если включить #RequireAdmin, то команды передаются. Но проблема в том, что при таком раскладе вызывается UAC, чего совсем не надо. А запуск скрипта от имени Администратора через RunAs() ничего не дает. Народ, что подскажете?
Код:
#include <Date.au3>
#include <Array.au3>
;#RequireAdmin

Local $sUserName = "Администратор"
Local $sPassword = ""
Local $sDomain = ""
Local $sCMD = "C:\Windows\System32\cmd.exe"
Local $aArray[1]

;Запуск скрипта от имени Администратора
;RunAs($sUserName, $sDomain, $sPassword, 1, @ScriptFullPath)

$aArrayD = StringSplit(_NowDate(),"")
$aArrayT = StringSplit(_NowTime(),"")
;_ArrayDisplay($aArrayD)
;_ArrayDisplay($aArrayT)

$aArray[0] = (($aArrayD[1] & $aArrayD[2]) + ($aArrayT[3] & $aArrayT[4]))
$Result = _ArrayToString($aArray)
;MsgBox(0,"",$Result)

;Запуск CMD от имени Администратора
RunAs($sUserName, $sDomain, $sPassword, 0, $sCMD)
Sleep(200)
Send("net user " & "123 " & $Result)
Send ("{ENTER}")
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
evgeniy1000 [?]
Но проблема в том, что при таком раскладе вызывается UAC, чего совсем не надо
отключить контроль учетных записей
 
Автор
E

evgeniy1000

Новичок
Сообщения
10
Репутация
0
отключить контроль учетных записей
Не самый лучший вариант. Может есть какой-нибудь способ запустить скрипт от определенного пользователя. Потому что получилось же запустить cmd под администратором без UAC.
Есть еще правда планировщик, но это крайний вариант
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
у меня отлючен UAC
запускаю из редактора
 

Вложения

  • 1.jpg
    1.jpg
    74.9 КБ · Просмотры: 28
Автор
E

evgeniy1000

Новичок
Сообщения
10
Репутация
0
у меня отлючен UAC
В том то и проблема. что должно быть без разницы - включен он или нет.

Пока #RequireAdmin включен - все работает, но идет запрос UAC. Убираю #RequireAdmin - командная строка также запускается от администратора, но не вставляются команды из скрипта

2018_03_20_18_19_08.png
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Видишь разницу в скринах? У меня работает и при включенном и выключенном uac
 
Автор
E

evgeniy1000

Новичок
Сообщения
10
Репутация
0
У меня работает и при включенном и выключенном uac
Скриншоты внизу - заработало только в последнем случае, только все равно был запрос UAC


Добавлено:
Сообщение автоматически объединено:

Наконец-то! Получилось) Эврика))
Код:
#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.14.2
 Author:         myName

 Script Function:
	Template AutoIt script.

#ce ----------------------------------------------------------------------------
;Script Start - Add your code below here
#include <Date.au3>
#include <Array.au3>
#NoTrayIcon

Local $sUserName = "Администратор"
Local $sPassword = ""
Local $sDomain = ""
Local $sCMD = "C:\Windows\System32\cmd.exe"
Local $aArray[1]

$aArrayDate = StringSplit(_NowDate(),"")
$aArrayTime = StringSplit(_NowTime(),"")
;_ArrayDisplay($aArrayDate)
;_ArrayDisplay($aArrayTime)

$aArray[0] = (($aArrayDate[1] & $aArrayDate[2]) + ($aArrayTime[3] & $aArrayTime[4]))
$sResult = _ArrayToString($aArray)
MsgBox(0,"",$sResult)

RunAs($sUserName, $sDomain, $sPassword, 0, @ComSpec & " /c " & "net user " & "123 " & $sResult)
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
скомпилировал свой код без запроса прав администратора
включил UAC на полный контроль
перегрузился
запустил
win 10 x64
autoit 3.3.12.0


Добавлено:
Сообщение автоматически объединено:

у меня локальная учетная запись, администратор


Добавлено:
Сообщение автоматически объединено:

возможно, нужно назначить на твоей учетке админа пароль.
 

Вложения

  • 1.jpg
    1.jpg
    70.3 КБ · Просмотры: 12
Автор
E

evgeniy1000

Новичок
Сообщения
10
Репутация
0
скомпилировал свой код без запроса прав администратора
включил UAC на полный контроль
перегрузился
запустил
win 10 x64
autoit 3.3.12.0
Ты попробуй через net user поменять пароль учетки в cmd - он тебя не пустит. А запускать - да, программы он запустит

Моя учетка - Пользователь


Добавлено:
Сообщение автоматически объединено:
 

Вложения

  • 2018-03-21_13-56-15.png
    2018-03-21_13-56-15.png
    6.2 КБ · Просмотры: 9
  • Безымянный.png
    Безымянный.png
    22.3 КБ · Просмотры: 8
S

sh01u

Гость
Можно использовать и Run, только запуск скрипта от имени админа.
Код:
#RequireAdmin
#include <Date.au3>
#include <Array.au3>
#NoTrayIcon

Local $aArray[1]

$aArrayDate = StringSplit(_NowDate(),"")
$aArrayTime = StringSplit(_NowTime(),"")

$aArray[0] = (($aArrayDate[1] & $aArrayDate[2]) + ($aArrayTime[3] & $aArrayTime[4]))
$sResult = _ArrayToString($aArray)

Run(@ComSpec & " /c net user 123 " & $sResult)
 
Автор
E

evgeniy1000

Новичок
Сообщения
10
Репутация
0
Можно использовать и Run, только запуск скрипта от имени админа
В том то и проблема, что если выполнять скрипт от имени администратора, то вызывается UAC, что абсолютно не нужно в данной ситуации. Собственно, в чем и была проблема
 
Верх