3

Я пытаюсь скрыть сетевой путь общих папок от пользователей домена. (Windows 2013) Я нашел этот скрипт при поиске маркировки сетевого диска.

$a = New-Object -ComObject shell.application
$a.NameSpace( "H:\" ).self.name = "Network Drive "

Если я запускаю сценарий, открывая Power Shell вручную, он успешно помечает сетевой ресурс и скрывает сетевой путь от пользователя.

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

Я понятия не имею о сценариях Windows. так что мне понадобится пошаговая помощь, чтобы она заработала.

1 ответ1

0

Поскольку у вас уже есть логика 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

Дополнительные ресурсы

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