Скрипт входа в систему с использованием сети * /delete /yes
Я пытаюсь избавиться от всех подключенных вручную сетевых дисков на всех рабочих станциях в моем домене. Я хочу, чтобы сопоставленные диски нашего конечного пользователя отображались исключительно через GPO (GPO уже есть).
Я пытаюсь написать скрипт, который будет:
- Unmap все сетевые диски, когда пользователь входит в систему
- Бежать
gpupdate /f
переназначить диски на основе примененного объекта групповой политики
Я планирую применить эту политику сценариев входа в систему только на несколько недель, пока не смогу проверить, что все подключенные вручную диски исчезли.
Вот содержимое моего пакетного скрипта:
REM Delete all mapped drives
net use * /del /y
REM force a group policy update to map all drives according to GPO's.
gpupdate /force
REM create a directory to verify the script is actually running.
mkdir %USERPROFILE%\test
Я поместил этот скрипт в каталог NETLOGON на контроллере домена. Сценарий запускается так, как задумано, если он запускается вручную из этого каталога. Однако при применении в качестве сценария входа в систему net use /delete /yes
Команда, похоже, не работает. Я проверил, что скрипт на самом деле работает во время входа в систему с mkdir %USERPROFILE%\test
,
Я даже пытался перенаправить вывод первой команды net use * /del /y > result.txt
и выход вышел как
"В списке нет записей"
Есть ли какая-то причина, по которой мой скрипт работает, когда я запускаю его вручную, а не как скрипт входа?
Сервер: Windows 2012R2
Хост: Windows 10
2 ответа
У меня была проблема с использованием net use g: /delete /yes в Windows 2012R2, это вызывало конфликты при отображении. Мое сопоставление дисков G связывалось с другими серверами, и иногда появлялись дополнительные диски с сопоставлением z, которые были призраками. Это не было в пакетном скрипте
Если вы должны удалить сетевые диски до фактических сопоставлений с помощью общих ресурсов на Server 2012R2, используйте net use g: /del (ТОЛЬКО)... это будет работать на 2012R2 Server
MJ
Если рассматриваемый пользователь является администратором, (не) сопоставление дисков с использованием сценариев не будет работать.
С UAC у вас есть два токена и сеансы входа в систему: один со всеми разрешениями ("повышенные") и один только с ограниченными разрешениями. Сценарии, запускаемые объектами групповой политики, запускаются с полными разрешениями.
Сопоставленные диски отслеживаются за сеанс. Когда вы пытаетесь отобразить или снять отображение дисков из сценариев входа / выхода из системы, они будут доступны только для программ, работающих с повышенными правами. Explorer никогда не запускается с повышенными правами по умолчанию.
Вот больше информации непосредственно от Microsoft.
Чтобы обойти это, используйте следующее .reg
скрипт. После этого изменения в сопоставленных акциях повлияют как на полный, так и на ограниченный токен.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLinkedConnections"=dword:00000001
Это также исправляет ошибки при попытке запуска настроек (или других вещей, которые работают с повышенными правами) с подключенных дисков.