Я створюю (локального) користувача для служби Windows під керуванням. У мене є вагомі причини, коли я не хочу користуватися мережевою службою, локальним обслуговуванням або локальною системою.
Я створюю користувача через net user foobar "Abcd123!" /add
- це працює чудово.
На даний момент c:\users\foobar
не існує.
Якщо я створюю домашній каталог користувача, перед тим, як користувач або ввійде (або, що більш доречно), або послуга, для якої користувач запускає, Windows створює профіль користувача під назвою c:\users\foobar-{gibberish/SID/whatever}
- це не передбачувана назва.
Мені потрібен домашній каталог користувача, щоб він містив такі речі, як .ssh
каталог, a .gitconfig
- такі інструменти (не обмежуючись цими інструментами), які роблять припущення, що це буде людина, яка ними користується, і тому конфігурація користувача проходить всередині ~/...
. Зазвичай інструменти зі спадщини Unix.
Актуальне питання
Отже - чи існує програмний (бажано, PowerShell або нестандартний командний рядок) спосіб сказати Windows, щоб створити профіль користувача для місцевого користувача?
Або будь-які інші шляхи вирішення?
Що я ще повинен спробувати:
- Запуск / попередній гачок NSSM, який копіює файли з іншого місця в каталог профілів користувача, який, сподіваємось, існує в даний момент в силу запуску служби Windows , створює профіль користувача, а потім передає керування обертці NSSM, що запускає гак перед запуском.
- Встановлення змінної середовища USERPROFILE для служби десь іншою, ніж фактична директорія профілю користувача. Це вражає мене як небезпечно поза межами трас, але також може спрацювати чудово.
Інший контекст:
- Windows Server 2016, досвід роботи на робочому столі.
- Неможливо використовувати Core / Nano.
- У грі немає активного каталогу. Не буде.
- Це місцеві користувачі.
- Я роблю це через Ansible, який використовує PowerShell під кришкою для речей Windows. Зокрема модуль win_user , з Ansible 2.7.5.
- Я не хочу створювати
C:\users\default
(еквівалент/etc/skel
), тому що є кілька різних користувачів сервісу, і один розмір підійде не всім. Це також не впливає на те, коли буде створений профіль користувача, а лише те, що буде в ньому, коли він буде. - Я використовую NSSM для управління послугами.
Те, що я спробував
- запустивши сервіс та дозволивши Windows створити каталог
- Я не хочу цього робити, тому що сервіс вимагає секретів перед запуском, і тому, якщо я це роблю всередині мого процесу випікання зображень, мені потрібно буде їх очистити, а також переконатися, що моя служба не робить цього будь-яка робота під час фази випічки. Я хочу уникати обох цих чудернацьких шматочків.
net user
(наприклад,/HOMEDIR
чи/PROFILEPATH
)? . Дивnet user /help
. З мого (неперевіреного) розуміння, ви можете створити каталог для користувача і встановити це як homedir за допомогою/HOMEDIR
перемикача.