Назад | Перейти на главную страницу

Запуск от имени сети только с сохраненными учетными данными

Я могу начать процесс с runas /netonly и runas /savecred но я не могу использовать оба флага одновременно.

Есть ли способ запустить процесс от имени другого пользователя удаленно, не вводя пароль каждый раз?

Боюсь, что это неподдерживаемый вариант, вы можете указать / netonly или / savecred, но не оба сразу:

runas [{/ profile | / noprofile}] [/ env] [{/ netonly | / savecred}] [/ smartcard] [/ showtrustlevels] [/ trustlevel] / user: ""

больше информации: https://technet.microsoft.com/en-us/library/cc771525.aspx

В другой ответ здесь Джейсон справедливо отмечает который runas /netonly не поддерживает сохранение учетных данных, а Microsoft намеренно усложнил использовать runas с жестко заданным паролем (из пакетного скрипта).

В предложение использовать диспетчер учетных данных Windows что Стефано указал в своем комментарии, полезно, когда вы хотите всегда подключиться к данной услуге (т.е. myserver.mycompany.com:XXX) с использованием указанных учетных данных.

Для решения командной строки с поведением, аналогичным runas.exe, но без необходимости вводить пароль, я обнаружил Модуль RunAs powershell (который, кажется, реализует этот совет) очень полезно:

  1. Установите из PowerShell Gallery, выполнив следующую команду в командной строке PowerShell с повышенными привилегиями (требуется Powershell v5 или Windows 10):

    Install-Module RunAs
    
  2. Зашифруйте пароль, запустив:

    # change `domain\username` as needed:
    ConvertFrom-SecureString (Get-Credential 'domain\username').Password
    

    Вам будет предложено ввести логин и пароль, а также напечатать длинное шестнадцатеричное число, которое вам нужно будет скопировать.

  3. Теперь вы можете сделать эквивалент runas /netonly с помощью:

    Import-Module RunAs
    
    # replace xxxx below with the encrypted password from step 2 (and `domain\username` too)
    # you might want to put this into your profile: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-7
    $mycreds = New-Object Management.Automation.PSCredential('domain\username', (ConvertTo-SecureString 'xxxx'))
    
    runas -netonly $mycreds "c:\Program Files (x86)\Microsoft Office\Office16\EXCEL.EXE"
    

P.S. многие ресурсы в сети предлагают использовать psexec для запуска от имени другого пользователя. Посмотрев вверх как это работает под капотом, Я не считаю это жизнеспособной альтернативой runas /netonly