Как задать переменную среды TEMP для пользователя "сетевая служба"?

У нас есть система, которая использует путь.GetTempFile и путь.GetTempPath довольно часто вызывает работу с временными файлами. Эта система также работает от имени пользователя "Network Service". Мы обнаруживаем, что у нас заканчивается место на диске C (для других проблем наши временные файлы очищаются правильно) и хотели бы иметь возможность переместить временный каталог на другой диск.

самое простое решение этой проблемы-изменить переменные среды TMP или TEMP для сети Пользователь службы, но я, похоже, могу установить только свой собственный пользователь или переменные "system", которые перезаписываются профилем пользователя сетевой службы. Как задать эти переменные для пользователя сетевой службы?

26
задан Chris Phillips
25.04.2023 12:43 Количество просмотров материала 2417
Распечатать страницу

2 ответа

это на самом деле довольно сложно. Вы можете использовать setx команда для установки постоянных переменных среды для других пользователей, но это не будет работать для NetworkService, потому что учетные записи служб не имеют паролей (поэтому ваши учетные данные всегда будут отклоняться).

единственный способ, который я знаю, чтобы сделать это с помощью планировщика задач:

  1. настройка задачи для запуска от имени пользователя "сетевая служба".
  2. оставьте триггеры пустыми.
  3. для действие, запустить cmd.exe с параметрами /c setx temp [target].
  4. запустить задачу вручную.
  5. удалить задачу.

это будет работать, чтобы установить постоянную переменную среды для пользователя NetworkService. Что касается того, будет ли это успешно работать, чтобы переместить временные файлы для этого пользователя, или это вызовет какие-либо непредсказуемые побочные эффекты, я не могу сказать наверняка. Возможно, потребуется перезагрузить компьютер, чтобы проверить, помещает ли он временные файлы в нужное место их.

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

2
отвечен Asterisk 2023-04-26 20:31

переменные среды для Network Service учетная запись хранятся в реестре Windows и могут быть изменены regedit:HKEY_USERS\S-1-5-20\Environment.

3
отвечен bahrep 2023-04-26 22:48

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх