1

У меня есть доступ к серверу, где я хочу, чтобы некоторые командные файлы запускались автоматически для любого пользователя при запуске.

Проблема в:

  1. Другие пользователи не могут запустить этот файл, и его необходимо запускать как пользователь, создавший файл (не знаю почему? Возможно, потому что у них нет прав администратора)

  2. Даже с runas они запрашивают пароль. У меня нет проблем с разделением пароля, но я не знаю, как задача будет автоматизирована.

Я попытался runas /savecred /user:Username "c:/xyz.bat" но это не удалось . Команда runas работает с /netonly но затем запрашивает пароль.

Есть ли какой-нибудь способ заставить пакетный скрипт работать для любого пользователя?

4 ответа4

2

Если вы используете Windows Server или Professional Edition Windows, вы можете сделать это с помощью групповой политики. Сценарии будут запускаться от имени пользователя, который входит в систему, кем бы он ни был, с соответствующими разрешениями. Они не будут привязаны к конкретному пользователю.

Сохраните свои пакетные сценарии в C:\Windows\System32\GroupPolicy\User\Scripts\Logon . Затем откройте редактор групповой политики (gpedit.msc), перейдите в « Конфигурация пользователя» > « Параметры Windows» > « Сценарии (вход / выход из системы)», затем выберите « Вход в систему» на главной панели. Нажмите « Добавить» в диалоговом окне « Свойства входа в систему », затем нажмите « Обзор», чтобы выбрать сценарий. Повторите это для каждого скрипта, который вы хотите запустить при входе в систему. Для получения более подробной информации см. Эту статью Microsoft .

Добавление сценариев входа в систему с помощью редактора групповой политики


Обратите внимание, что описанный выше процесс предназначен для пользователей, которые входят в систему. Если вы хотите, чтобы при запуске системы выполнялись сценарии с разрешениями «Локальная система», выберите « Конфигурация компьютера» > « Параметры Windows» > « Сценарии (запуск / завершение работы)» и выберите « Запуск», а затем выполните оставшуюся часть процедуры, описанной выше. Скрипты для запуска системы должны храниться в C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup .

1

Создайте запланированное задание и запустите его от имени данного пользователя.

0

Чтобы пользователи могли запускать файл от имени другого (предварительно настроенного) пользователя, в прошлом я успешно использовал « Запуск от имени SPC», когда у меня была похожая ситуация. Вы конфигурируете криптофайл с предполагаемым именем пользователя и паролем, а также исполняемым файлом, который может быть запущен, и затем он может использоваться любым, фактически не предоставляя им доступ к учетной записи, за исключением возможности запустить этот конкретный исполняемый файл.

0

В Windows есть файл Autoexec.bat, который позволяет запускать несколько команд после входа пользователя. Что касается разрешения, возможно, вы разместили приложение в месте, заблокированном для обычных пользователей (при условии, что это был раздел NTFS), поэтому решением было бы разместить программу в корне диска (скажем, C:/). Затем снова и AFAIK, программы запрашивают разрешение, когда:

  • Они заблокированы в папке, доступной только для администраторов.
  • Они связываются с реестром или другими частями операционной системы (в этот момент включается UAC).

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