Папка автозагрузки пользователя по умолчанию Windows 8.1 и Windows 10

Вопрос или проблема

Только что заметил кое-что, когда игрался с папкой «Автозагрузка» стандартного пользователя в Windows 8.1 и Windows 10: по какой-то причине во всех моих установках Windows 10 папка автозагрузки стандартного пользователя не существует там, где должна, C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup, тогда как в Windows 8.1 она присутствует.

Я видел в интернете, что она, по-видимому, была заменена на C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp, начиная с Win7, но у меня этот путь есть в Win8.1, но нет в Win10. Win10 доходит до папки Programs, затем папка Startup не существует.

Если я вручную создам папку Startup в C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\ и помещу туда что-то, запустит ли ОС это при старте или нет?

Потому что в этом случае я не могу использовать папку Startup в ProgramData, так как .BAT файл будет самоуничтожаться после использования, но его нужно запускать при каждом первом входе нового пользователя. Поместив его в C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup, он просто будет скопирован в папку автозагрузки пользователя во время создания профиля пользователя, запустится, а затем удалит себя.

Если ручное создание папки автозагрузки не сработает, есть ли простой способ сделать то, что мне нужно? Единственный другой вариант, который я нашел, это запустить батник с условием IF, чтобы проверить, существует ли результат батника (что является ключом реестра), и если да, то не запускать, но это значит, что каждый раз, когда пользователь входит в систему, батник будет запускаться, что не идеально.

Заранее спасибо!

Хотя по умолчанию она не существует, C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup является действительным путем, если вы создадите ее вручную.

Файлы, размещенные здесь, будут скопированы в папку автозагрузки других пользователей, когда они впервые войдут в систему. Если пользователь уже входил в систему ранее и, следовательно, у него уже есть папка пользователя, это не окажет никакого влияния, пока профиль пользователя не будет удален.

Для вашего самоуничтожающегося .bat файла это, похоже, ваш лучший вариант. Я протестировал это сегодня на Windows 10 Enterprise 21H2.

В отличие от этого, та же автозагрузка для папки public не работает, т.е. C:\Users\Public\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.

Вместо этого, как упомянули полезные комментарии, C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp доступна в Windows 10 и выше. Кроме того, что эта папка синхронизируется между всеми пользователями, для ее модификации требуются права администратора.

Если вы выберете этот вариант, вы можете добавить проверку в ваш скрипт, чтобы убедиться, что он не выполнялся для пользователя ранее, например, вы можете создать скрытый файл в AppData пользователя и затем проверить его существование перед запуском скрипта.

Это не совсем относится к вашему конкретному случаю, но список автозагрузки в Диспетчере задач также существует сейчас, это ответ описывает, как вы можете добавлять программы в него, добавляя строковое значение в реестр HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run.

По той же логике вы также можете добавить это в реестр стандартного пользователя HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run.

Ответ или решение

Сравнение папки автозагрузки пользователя по умолчанию в Windows 8.1 и Windows 10

Введение

В процессе работы с папкой автозагрузки для пользователя по умолчанию в Windows 8.1 и Windows 10 могут возникать вопросы, касающиеся различий в их структуре и функциональности. В данном ответе мы подробно рассмотрим эти различия и ответим на вопросы, касающиеся пользовательского опыта и разработки.

Структура и расположение папок автозагрузки

В Windows 8.1 папка автозагрузки пользователя по умолчанию располагается по следующему пути:

C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

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

В Windows 10, в отличие от Windows 8.1, вы можете заметить отсутствие папки автозагрузки по адресу, указанному выше. По умолчанию она не существует в директории пользователя по умолчанию. Это связано с изменениями, внесенными в систему, которые повлияли на порядок создания пользовательских профилей.

Однако, папка C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup по-прежнему доступна и используется для установки программ, которые необходимо запускать для всех пользователей системы. Но данная папка требует административных прав для модификации и не подходит для задач, связанных с индивидуальными настройками пользователей.

Вопрос о создании папки вручную

Если вы вручную создадите папку автозагрузки в:

C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\

Она будет работать так же, как и в Windows 8.1. Файлы, помещенные в эту папку, будут скопированы в автозагрузку нового пользователя при его первом входе в систему. Обратите внимание: если пользователь уже заходил в систему, то изменения в этой папке не отразятся на его профиле, пока он не будет удалён и заново создан.

Работа с самоуничтожающимся .BAT файлом

Ваша задача с использованием самоуничтожающегося .bat файла наиболее эффективно решается через создание данной папки. Это позволяет запустить файл во время создания нового профиля, а затем удалить его. Ваша идея по размещению файла в папке автозагрузки пользователя по умолчанию является оптимальным решением.

Если бы вы решили использовать папку C:\ProgramData, вам бы пришлось добавлять дополнительные условия в ваш скрипт, чтобы проверять, запускался ли он ранее, что может вызвать неэффективность из-за повторного выполнения скрипта при каждом входе в систему.

Альтернативные подходы

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

  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run – позволяет добавлять элементы в автозагрузку для текущего пользователя.
  • HKEY_USERS.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run – для пользователя по умолчанию, который будет запускать ваш файл во время создания нового профиля.

Заключение

Таким образом, несмотря на изменения в структуре системы с переходом на Windows 10, возможность создания папки автозагрузки вручную предоставляет гибкость в управлении запуском программ для новых пользователей. Данное решение идеально вписывается в вашу задачу, требующую однократного выполнения скрипта при первом входе пользователя в систему. Если у вас есть дополнительные вопросы или потребность в более детальном руководстве, пожалуйста, не стесняйтесь обращаться.

Оцените материал
Добавить комментарий

Капча загружается...