Windows 7 Home: как настроить скрипт входа

7

В Windows 7 Professional можно щелкнуть правой кнопкой мыши пользователя в разделе « Локальные пользователи и группы управления компьютером », чтобы установить сценарий входа в систему на вкладке « Профиль ». К сожалению, Windows 7 Home Premium не имеет (кажется) локальных пользователей и групп в управлении компьютером . Как настроить скрипт входа в Windows 7 Home Premium.?

Майк Л.
источник
1
В автономной системе есть ли преимущество в настройке сценария входа в систему по сравнению с простым помещением его в папку «Автозагрузка»?
user1686
2
Преимущество заключается в том, что скрипт будет загружен очень рано, например, перед запуском других приложений. Это очень полезно для монтирования зашифрованных разделов.
Майк Л.

Ответы:

8

Вы правы, эта оснастка MMC отключена, если у вас не установлена ​​Windows 7 (или Vista) Professional.

Вы должны быть в состоянии настроить пользовательские свойства с помощью команды net user :

net user UserName /scriptpath:logon.bat

Расположение скрипта:

Сценарии локального входа должны храниться в общей папке - или подпапках общей папки - с именем Netlogon. Если эта папка не существует по умолчанию, вы должны создать ее. Чтобы указать сценарий входа, который хранится в подпапке папки Netlogon, перед именем файла укажите относительный путь к этой папке. Например, чтобы назначить локальному пользователю сценарий входа в систему Startup.bat, который хранится в \ ComputerName \ Netlogon \ FolderName, введите в сценарии входа имя FolderName \ Startup.bat.

Сийм К
источник
Где находится каталог "\ ComputerName \ Netlogon \ FolderName"?
Майк Л.
1
@mklhmnn: где угодно. Пример приведен для домена, где один сервер содержит все сценарии; у контроллеров домена есть доля \\servername\Netlogonдля этой цели. Если вы укажете относительный путь, он будет найден в разделе DC Netlogon. (Поведение неизвестно для автономных систем.) Но вы можете указать абсолютный путь, например C:\WINDOWS\Misc\logon.cmd.
user1686
1
Где угодно - например, создайте папку c: \ logon и поделитесь ею как Netlogon.
Сийм К
1
@grawity using /scriptpath:pathВы не можете использовать абсолютный путь.
Ханан Н.
6

Резюме того, что я сделал, чтобы решить эту проблему:

  • Я создал скрипт в C:\Windows\System32\repl\import\scripts\<username>.bat
  • прибег net user <username> /scriptpath:<username>.bat

Поскольку Windows 7 Home не ждать , пока этот сценарий не был закончен и продолжал загружать другие приложения, я также необходимо создать DWORDзапись с именем RunLogonScriptSyncв HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogonв сообщении значения реестра 1.

Майк Л.
источник
1
Есть ли способ отменить эту команду? Другими словами отключить скрипт, который вы назначили для профиля пользователя?
Radical924
3

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

Примечание: я не уверен, могут ли упомянутые выше сценарии быть .exeфайлом или нет, но в методе, который я опишу, можно использовать любой исполняемый файл.

Другой способ сделать, который имеет некоторую дополнительную гибкость, это использование Task Scheduler. В меню «Пуск» введите Task Scheduler и запустите его (или запустите taskschd.mscиз Runдиалогового окна или оболочки). Выберите Task Scheduler Libraryв виде дерева. Если вы хотите, вы можете создать специальную подпапку для своих программ, но это не обязательно. Нажмите Create Basic Task...(мастер) или Create Task...на Actionsпанели справа.

Я объясню, как использовать Create Task....

  • На Generalвкладке заполните описательное имя и, при необходимости, описание вашей задачи.
  • На Triggersвкладке нажмите New..., установите Begin the taskна At log on. Проверьте Specific userвыпадающий список, убедитесь, что выбрано ваше имя пользователя (вы можете использовать его, Any userесли хотите, чтобы программа запускалась при входе любого пользователя). Если вы не хотите, чтобы ваш скрипт замедлял процесс входа в систему, вы можете запустить его после задержки - установите Delay task forфлажок и введите время (например 30 seconds). Нажмите кнопку ОК, чтобы создать триггер.
  • На Actionsвкладке щелкните New..., выберите свою программу (или скрипт), используя Browse...или введите полный путь в Program\program. Если программа находится в вашем% Path%, вы можете просто использовать program. Вы можете указать любые аргументы для передачи в программу Add arguments. Вы можете указать рабочий каталог для программы в Start in. Вы можете использовать любой тип сценария, который поддерживает локальный компьютер; если тип сценария не зарегистрирован в Windows, его можно запустить, указав в качестве программы интерпретатор сценария. Например, использовать C:\path\to\python.exeв качестве программы и в C:\path\to\script.py some_argumentsкачестве аргументов. Нажмите кнопку ОК, чтобы создать действие.
  • На Conditionsвкладке вы, вероятно, хотите снять флажок Start the task only if the computer is on AC power.
  • Во Settingsвкладке не нужно ничего менять.

Нажмите кнопку ОК, чтобы создать запланированное задание. Если вы хотите отредактировать его позже, просто выберите Task Scheduler Libraryв виде дерева, найдите вашу задачу в списке (в верхней части окна) и дважды щелкните по ней.

Посмотрите Ссылку Планировщика задач для получения дополнительной информации.

Гена Павловский
источник
1

Я использую Win 7 Premium Home в автономной системе и хотел запустить скрипт входа в систему для подключения зашифрованного тома. Поиск в сети дал только сложные результаты (gpedit, обновление реестра). Мое решение очень простое: я создал на C: папку (с любым именем) и вставил в нее свой скрипт. Эта папка должна иметь общий доступ с общим именем «Netlogon». Это работает! По крайней мере, в моей локальной системе.

Моссауталь
источник
1

Системная ошибка 5 произошла.

Доступ запрещен.

Если вы получаете такую ​​ошибку при запуске команды net user , убедитесь, что вы запускаете CMD от имени администратора (используйте правую кнопку мыши и выберите «Запуск от имени администратора»)!

Иван Келленбергер
источник
1

Вы также можете просто создать задачу, используя планировщик задач и установив триггер для запуска сценария при входе в систему.

swiftninja21
источник
2
Этот ответ можно улучшить, включив процедуры и шаги, необходимые для настройки сценария для запуска в планировщике задач.
Будет
1

Вы по-прежнему используете пользовательский интерфейс для настройки сценария входа в Windows 7

Откройте "Control Panel" -> "User Accounts" -> "User Accounts" -> "Manage User Accounts" -> "Advanced" -> "Advanced"для доступа к оснастке MMC «Локальные пользователи и группы (локальные)».

или просто запустите из оболочки cmd: mmc.exe %SystemRoot%\system32\lusrmgr.msc computername=localmachine

Нтропы Безымянный
источник