1

У меня есть пакетный скрипт Windows, который автоматически запускается при входе в систему как определенный пользователь-администратор (а не тот же пользователь, который вошел в систему) для всех стандартных пользователей.

В том же сценарии мне нужно выполнить проверку их членства в группе (путем вызова exe-файла с определенной группой в качестве параметра) для текущего пользователя, вошедшего в систему, то есть пользователя, который вошел в окна, которые отображает оболочка сценария и бежать из / в.

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

Есть ли способ сделать это, не запрашивая учетные данные, просто через командную строку или, возможно, даже PowerShell ( вызывается из скрипта)?

Я ищу абсолютно неинтерактивный опыт для пользователя, так как он должен применяться до прибл. 9000 пользователей.

Любая помощь будет оценена. Приветствия.

1 ответ1

0

Команда Runas имеет ключ /savedсred , но под каждым новым пользователем вам все равно необходимо ввести пароль (один раз).

Есть способ в PowerShell:

  1. Используйте ConvertTo-SecureStrin g для шифрования пароля
  2. Создать объект учетных данных
  3. Запустить приложение с помощью Start-Process

$secstring = ConvertTo-SecureString -String $password -AsPlainText -Force

$credentials = New-Object System.Management.Automation.PSCredential -ArgumentList @($username,$secstring)

Start-Process <filefullpath> -WorkingDirectory <work dir> -Credential ($credentials)

Но защищенную строку, зашифрованную на компьютере, нельзя расшифровать на другом (если вы не шифруете с помощью известного ключа с параметром -Key). Фактически, вы должны поместить учетные данные в тело вашего скрипта.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .