- Remove From My Forums
-
Вопрос
-
Доброго всем дня. Просьба помочь в такой ситуации. Домен с контроллерами на базе Win 2000 и Win2003. В групповой политике Default Domain Policy прописан запуск logon и startup скриптов. Проблема в том, что каждый скрипт запускается по два раза. При просмотре списка автозапуска на локальной машине явно видно, что каждый батник, cmd или vbs файл прописан по два раза. В чем может быть причина?
Ответы
-
«Может, я и псих, но не идиот». Хотя, в общем, идиот. В результате непонятно чьих шаманств групповая политика оказалась привязанной два раза — на уровне домена и на уровне OU.
Большое спасибо за подсказки.
-
Предложено в качестве ответа
11 июня 2009 г. 10:48
-
Помечено в качестве ответа
Vinokurov Yuriy
11 июня 2009 г. 12:59
-
Предложено в качестве ответа
Способы Автозапуска
Ключи реестра и места на диске, с помощью которых могут запускаться автоматически программы или зловреды, при каждой загрузке системы
Logon
Начало сеанса. Все что требуется чтобы загрузилась система
%SystemDrive%Documents and SettingsAll UsersStart MenuProgramsStartup
%SystemDrive%Documents and Settings<username>Start MenuProgramsStartup
HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerShell Folders, Common Startup
HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerShell Folders, Common AltStartup
HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerUser Shell Folders, Common Startup
HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerUser Shell Folders, Common AltStartup
HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders, Startup
HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders, AltStartup
HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders, Startup
HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders, AltStartup
—
HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun
HKCUSoftwareMicrosoftWindowsCurrentVersionRun
HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunOnce
HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunOnceEx
HKCUSoftwareMicrosoftWindowsCurrentVersionRunOnce
HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunServices
HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunServicesOnce
HKCUSoftwareMicrosoftWindowsCurrentVersionRunServices
—
HKCUSoftwareMicrosoftWindows NTCurrentVersionWindows, load
HKCUSoftwareMicrosoftWindows NTCurrentVersionWindows, run
—
HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesExplorer, run
HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer, run
HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem, shell
HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem, shell
—
HKLMSOFTWAREPoliciesMicrosoftWindowsSystemScriptsStartup
HKLMSOFTWAREPoliciesMicrosoftWindowsSystemScriptsShutdown
HKCUSoftwarePoliciesMicrosoftWindowsSystemScriptsLogon
HKCUSoftwarePoliciesMicrosoftWindowsSystemScriptsLogoff
—
HKLMSYSTEMCurrentControlSetControlTerminal ServerWdsrdpwd, StartupPrograms
—
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerInstallSoftwareMicrosoftWindowsCurrentVersionRunonce
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerInstallSoftwareMicrosoftWindowsCurrentVersionRunonceEx
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerInstallSoftwareMicrosoftWindowsCurrentVersionRun
HKCUSoftwareMicrosoftWindows NTCurrentVersionTerminal ServerInstallSoftwareMicrosoftWindowsCurrentVersionRunonce
HKCUSoftwareMicrosoftWindows NTCurrentVersionTerminal ServerInstallSoftwareMicrosoftWindowsCurrentVersionRunonceEx
HKCUSoftwareMicrosoftWindows NTCurrentVersionTerminal ServerInstallSoftwareMicrosoftWindowsCurrentVersionRun
—
%WinDir%system.ini
%WinDir%win.ini
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionIniFileMappingsystem.ini
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionIniFileMappingwin.ini
Winlogon
WINLOGON.EXE — процесс, ответственный за начало ( logon) сеанса и завершение сеанса ( logoff) пользователя. Процесс активируется только после пользователем кнопок CTRL+ALT+DEL и демонстрирует диалоговое окно для ввода пароля.
Файл WINLOGON.EXE всегда расположен в C:WindowsSystem32. В случае обнаружения этого файла в любом другом каталоге он должен быть незамедлительно удален. В настоящее время известно более сотни вирусов (например W32.Neveg.A@mm, Spyware.CMKeyLogger, W32/Netsky-D и множество других), использующих имя WINLOGON.EXE для сокрытия своего присутствия в системе.
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonNotify
—
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonGPExtensions
—
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon, AppSetup
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon, GinaDLL
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon, System
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon, Taskman
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon, UIHost
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon, VmApplet
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon, Userinit
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon, shell
HKCUSoftwareMicrosoftWindows NTCurrentVersionWinlogon, shell
—
HKCUControl PanelDesktop, SCRNSAVE.EXE
—
HKLMSYSTEMCurrentControlSetControlBootVerificationProgram, ImageName
AppInit DLLs
Файлы (.dll), которые прописываются в этот ключ, загружаются в каждое Windows-приложение, использующее библиотеку user32.dll.
С опаской нужно относиться к тому, что здесь прописывается. Но при этом учитывать, что здесь могут быть прописаны программы, связанные с безопасностью компьютера: например, Outpost (wl_hook.dll), BitDefender (sockspy.dll) или Kaspersky (adialhk.dll)
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWindows, Appinit_Dlls
Explorer
Explorer.exe. Данный процесс является пользовательской оболочкой, которая отвечает за такие компоненты как Панель задач, Рабочий стол и так далее. Этот процесс не столь важен для работы Windows и может быть остановлен (и перезапущен) с помощью Диспетчера задач, как правило, без отрицательных побочных эффектов.
HKLMSOFTWAREClassesProtocolsFilter
HKLMSOFTWAREClassesProtocolsHandler
—
HKCUSoftwareMicrosoftInternet ExplorerDesktopComponents
—
HKLMSOFTWAREMicrosoftActive SetupInstalled Components
HKCUSoftwareMicrosoftActive SetupInstalled Components
—
HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerSharedTaskScheduler
—
HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerShellExecuteHooks
—
HKLMSOFTWAREMicrosoftWindowsCurrentVersionShellServiceObjectDelayLoad
HKCUSoftwareMicrosoftWindowsCurrentVersionShellServiceObjectDelayLoad
—
HKLMSOFTWAREMicrosoftWindowsCurrentVersionShell ExtensionsApproved
HKCUSoftwareMicrosoftWindowsCurrentVersionShell ExtensionsApproved
—
HKLMSOFTWAREClassesFoldershellexColumnHandlers
HKCUSoftwareClassesFoldershellexColumnHandlers
—
HKLMSOFTWAREMicrosoftCtfLangBarAddin
HKCUSoftwareMicrosoftCtfLangBarAddin
Internet Explorer
Все что запускает и может применить Вам в помощь браузер Internet Explorer
HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerBrowser Helper Objects
—
HKCUSoftwareMicrosoftInternet ExplorerUrlSearchHooks
—
HKLMSOFTWAREMicrosoftInternet ExplorerToolbar
—
HKLMSOFTWAREMicrosoftInternet ExplorerExplorer Bars
HKCUSoftwareMicrosoftInternet ExplorerExplorer Bars
—
HKLMSOFTWAREMicrosoftInternet ExplorerExtensions
HKCUSoftwareMicrosoftInternet ExplorerExtensions
—
HKCUSOFTWAREMicrosoftInternet ExplorerMenuExt
—
HKLMSOFTWAREMicrosoftInternet ExplorerPlugins
—
HKLMSOFTWAREMicrosoftCode Store DatabaseDistribution Units
%WinDir%Downloaded Program Files
—
HKLMSOFTWAREMicrosoftWindowsCurrentVersionURLPrefix
HKLMSOFTWAREMicrosoftWindowsCurrentVersionURLDefaultPrefix
Services
HKLMSYSTEMCurrentControlSetServices
HKLMSYSTEMControlSet001Services
HKLMSYSTEMControlSet002Services
HKLMSYSTEMControlSet003Services
Drivers
HKLMSYSTEMCurrentControlSetServices
HKLMSYSTEMControlSet001Services
HKLMSYSTEMControlSet002Services
HKLMSYSTEMControlSet003Services
Boot Execute
Параметр BootExecute реестра содержит одну или несколько команд, которые Диспетчер сеансов выполняет перед загрузкой сервисов. Значением по умолчанию для этого элемента является Autochk.exe
HKLMSYSTEMCurrentControlSetControlSession Manager, BootExecute +
HKLMSYSTEMCurrentControlSetControlSession Manager, Execute
HKLMSYSTEMCurrentControlSetControlSession Manager, SetupExecute
Print Monitors
HKLMSYSTEMCurrentControlSetControlPrintMonitors
Known Dlls
Эти библиотеки загружаются во все процессы, запускаемые системой
HKLMSYSTEMCurrentControlSetControlSession ManagerKnownDlls
Lsa Providers
HKLMSYSTEMCurrentControlSetControlLsa, Authentication Packages
HKLMSYSTEMCurrentControlSetControlLsa, Notification Packages
HKLMSYSTEMCurrentControlSetControlLsa, Security Packages
—
HKLMSYSTEMCurrentControlSetControlSecurityProviders, SecurityProviders
Network Providers
Поставщики Network. Поставщик сетевых услуг
HKLMSYSTEMCurrentControlSetControlNetworkProviderOrder
WinSock Providers
HKLMSYSTEMCurrentControlSetServicesWinSock2ParametersProtocol_Catalog9
HKLMSYSTEMCurrentControlSetServicesWinSock2ParametersNameSpace_Catalog5
Image File Execution Options(Debugger)
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options
Command Processor
HKLMSOFTWAREMicrosoftCommand Processor, AutoRun
HKCUSoftwareMicrosoftCommand Processor, AutoRun
Associations
HKLMSOFTWAREClasses*shellopencommand
HKCUSoftwareClasses*shellopencommand
Апплеты панели управления (Control Panel Libraries)
%WinDir%system32
HKLMSOFTWAREMicrosoftWindowsCurrentVersionControl PanelCpls
MVB
HKCUControl PanelIOProcs, MVB
Applications
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionAccessibilityUtility Manager
HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerMyComputerBackupPath
HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerMyComputerCleanuppath
HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerMyComputerDefragPath
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionAeDebug, Debugger
HKLMSOFTWAREMicrosoftWindows Script Host
—
Task Scheduler: %WinDir%Tasks
ICQ Agent Autostart Apps
HKCUSoftwareMirabilisICQAgentApps
источник
К сожалению, службы не могут работать для каждого пользователя, они общесистемные. Вы можете изменить свою службу, чтобы определить, когда пользователь выходит из системы, но тогда она не будет запущена снова, когда пользователь снова войдет в систему. В качестве альтернативы вы можете использовать вторую службу для мониторинга активности входа в систему (используя OnSessionChanged как указано @rene) и для запуска/остановки первой службы в соответствии с.
Это немного сложно, и вам нужно установить вторую службу, я предпочитаю более простое решение с использованием сценариев.
PowerShell
Вы можете использовать два сценария PowerShell для запуска службы:
Start-Service -name "YourServiceName"
Это для остановки службы:
Stop-Service -name "YourServiceName"
Чтобы настроить эти сценарии для выполнения, посмотрите здесь. Короче говоря, вам нужно изменить конфигурацию политики в HKLMSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem!RunUserPSScriptsFirst
для запуска ваших сценариев, когда это необходимо.
«Старая» оболочка
Вы не обязаны использовать PowerShell, для запуска/остановки службы можно использовать команды оболочки:
sc start YourServiceName
и
sc stop YourServiceName
Видеть это сообщение как выполнить пакетный файл (или команду) при выходе из системы. Короче говоря, вы должны добавить запись в HKCUSoftwarePoliciesMicrosoftWindowsSystemScriptsLogoff
для выхода из системы и HKCUSoftwarePoliciesMicrosoftWindowsSystemScriptsLogon
для входа в систему (но есть много разных мест, куда вы можете поместить свои скрипты для входа в систему).
Продолжаю решать задачи получения программ из автозапуска, начавшуюся с получения путей к папкам Startup из реестра
Задача: получить все программы из автозапуска в реестре
Ключи для примера:
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun
Пример получения по ключу списка значений, в котором будут программы на автозапуск для текущего пользователя:
import winreg
from typing import Optional
from winreg import QueryInfoKey, EnumValue, OpenKey, HKEYType
def get_key(path: str) -> Optional[HKEYType]:
# Example:
# path = r"HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders"
# registry_key_name = "HKEY_LOCAL_MACHINE"
# relative_path = r"SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders"
registry_key_name, relative_path = path.split('\', maxsplit=1)
registry_key = getattr(winreg, registry_key_name)
try:
return OpenKey(registry_key, relative_path)
except:
return
key = get_key(r"HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun")
_, number_of_values, _ = QueryInfoKey(key)
for i in range(number_of_values):
name, value, type_value = EnumValue(key, i)
print(name, value)