Поскольку у вас уже есть логика PowerShell, которая работает, как вы подтвердили, и вам просто нужно знать, как заставить ее работать из сценария входа в систему, просто добавьте приведенный ниже пример логики с вашей логикой по мере необходимости. Просто убедитесь, что ваша логика для сопоставления дисков запущена до того, как эта логика запустится.
Я предоставил « Настройка сценария входа в систему с помощью пользователей и компьютеров Active Directory», с которыми вы можете ознакомиться для более подробной информации о настройке сценария входа в систему, которая является относительно простой задачей.
Если вы используете пакетный скрипт, просто добавьте логику в конец процесса, как показано ниже. Если вы используете VB Script, см. Здесь Запуск файла VBScript, чтобы увидеть objShell.Run "c:\batch\test.cmd"
но вы должны создать и указать его на \\DomainController\sysvol\<domain>\scripts\<Batch>.cmd
Пример сценария пакетной регистрации
Я проверил и подтвердил, что это работает должным образом в доменной среде на ПК с Windows с помощью сценария входа из учетной записи пользователя домена.
<your existing batch login script logic up here>
<you will ensure the logic to map the drives has already been run>
SET TmpPSScript=%Temp%\~tmp_RenameDrive.ps1
IF EXIST "%TmpPSScript%" DEL /Q /F "%TmpPSScript%"
ECHO $a = New-Object -ComObject shell.application >>"%TmpPSScript%"
ECHO $a.NameSpace( "H:\" ).self.name = "Homes" >>"%TmpPSScript%"
SET PowerShellDir=C:\Windows\System32\WindowsPowerShell\v1.0
CD /D "%PowerShellDir%"
Powershell -ExecutionPolicy Bypass -Command "& '%TmpPSScript%'"
EXIT
Дополнительные ресурсы