На Windows 2008 R2 Server (Standard) мне нужно смонтировать сетевой диск без предварительного входа конкретного пользователя на машину. Вроде как NFS
монтировать через fstab
на машинах Unix. Сетевой диск будет общим через устройство BlackArmor (Seagate) (которое, как я полагаю, работает на Samba). При необходимости устройство может быть членом домена.
Пока я пробовал использовать Edit Group Policy
-> Configuration
-> Windows
-> Scripts
-> Startup
где я это выполнял
net use x: \\server\share /user:username password
Безуспешно. После входа в систему сетевой диск отображался в проводнике Windows как отключенный сетевой диск.
Это очевидно возможно, согласно это сообщение StackOverflow.
Однако, прежде чем публиковать содержание ответа, могу ли я предположить, что вы слишком усложняете это?
В таких ситуациях, когда какой-то дрянной фрагмент кода требует, чтобы пользователь вошел в систему для запуска (например, сервер Domino, ворчатьЯ создал учетную запись службы, которая всегда будет входить в систему на данном сервере, и настроил сценарий автоматического входа, чтобы компьютер автоматически входил в указанную учетную запись при перезагрузке. Я бы предположил, что более простым и поддерживаемым решением вашей проблемы было бы сделать то же самое и сопоставить диск для этого пользователя учетной записи службы с помощью групповой политики или сценария входа в систему.
В любом случае, если вы решите попробовать это без контекста пользователя, см. Ниже. Это взлом, так что используйте на свой страх и риск и все:
Для этого хака вам понадобится SysinternalsSuite от Марка Руссиновича: http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx
Шаг 1. Откройте командную строку cmd.exe с повышенными привилегиями (запуск от имени администратора)
Шаг 2: Снова поднимитесь до уровня root с помощью PSExec.exe: перейдите в папку, содержащую SysinternalsSuite, и выполните следующую команду «psexec -i -s cmd.exe». Теперь вы находитесь внутри приглашения, которое называется «NT Authority \ system», и вы можете доказать это, набрав "whoami". -I необходим, потому что сопоставления дисков должны взаимодействовать с пользователем.
Шаг 3. Создайте постоянный подключенный диск в качестве учетной записи SYSTEM с помощью следующей команды «net use z: \ servername \ sharedfolder / persistent: yes»
Это так просто!
ВНИМАНИЕ! Это сопоставление можно удалить только так же, как вы его создали, из учетной записи SYSTEM. Если вам нужно удалить его, выполните шаги 1 и 2, но измените команду на шаге 3 на: "net use z: / delete"
ПРИМЕЧАНИЕ. Вновь созданный подключенный диск теперь будет отображаться для ВСЕХ пользователей этой системы, но они будут видеть, что он отображается как «Отключенный сетевой диск (Z :)». Не позволяйте названию ввести вас в заблуждение. Он может заявить, что отключен, но он будет работать для всех. Вот как вы можете сказать, что этот хак не поддерживается M $.
Из комментариев:
Чтобы он заработал после перезагрузки, создайте сценарий, содержащий только net use z: \ servername \ sharedfolder, и установите его для запуска при запуске компьютера, согласно technet.microsoft.com/en-us/library/cc770556.aspx. Это будет работать как учетная запись SYSTEM, поэтому нет необходимости в psexec.
создать свой командный файл, который запускает эту команду. преобразовать его в службу Windows. заставить эту службу запускаться при запуске Windows, и все.
Это может быть полезно: Как создать службу, запускающую файл .bat на Windows 2008 Server?
Вы также можете попробовать добавить Люкс Sysinternals в C: \ SysinternalsSuite
cmd
окноcd c:\sysint*
psexec -i -s cmd.exe
whoami
Чтобы убедиться, что вы не являетесь авторитетомnet use x: \\PathToDrive
или share /persistent:yes
Он должен отображаться как отключенный диск, и для его автоматического монтирования просто создайте сценарий запуска с шагом 5 в нем. Вам нужно будет выполнить шаги 1-5, чтобы удалить сопоставление, просто измените 5, чтобы отразить чистое использование x: / delete
Я нашел решение для постоянного монтирования диска. Однако диск не монтируется во время каждой сессии. Я сделал это на Windows Server 2019.
Допустим, мы хотим смонтировать каталог с именем target_dir
расположен на target_server
. Мое имя пользователя my_username
и мой пароль my_password
в домене под названием MY_DOMAIN
. Установим его на T:
водить машину.
Во-первых, создайте новый текстовый файл в любом месте (например, на рабочем столе). Откройте его и проанализируйте это:
@ECHO OFF
net use s: \\target_server\target_dir /persistent:yes
Затем переименуйте его в mount_drive.bat
и шаг этот файл в C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup
.
Убедитесь, что файл не .txt
файл больше.
Теперь нажмите Win+R
, тип gpedit.msc
и запустить Редактор локальной групповой политики.
Просмотрите к Computer Configuration\Windows Settings\Scripts (Startup/Shutdown)
и дважды щелкните Startup
.
Нажмите на Add...
затем Browse...
, выберите файл, который вы только что переместили.
Затем перейдите к Computer Configuration\Administrative Templates\System\Logon
, устанавливать Always wait for the network at computer startup and logon
к enabled
, сохранить и закрыть.
Откройте повышенный терминал для сохранения ваших учетных данных. Затем настройте Windows, чтобы этот диск не отключался по истечении тайм-аута.
cmdkey /add:target_server /user:MY_DOMAIN\my_username /pass:my_password
NET CONFIG SERVER /AUTODISCONNECT:-1
При желании вы можете проверить, что все работает, запустив C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup\mount_drive.bat
перезагрузка