- 允许程序作为后台和启动服务运行。
- 有经典(instsrv 和 srvany)和现代(sc.exe)方法来配置它们。
- 操作注册表和系统路径时需要小心,以避免错误。
你有没有想过如何在 Windows 通过 System32? 此过程似乎只针对高级用户,但实际上,只要遵循正确的说明并注意细节,就可以在不同版本的 Windows 中轻松完成。Windows 服务是在后台运行的应用程序, 通常,它们需要特殊权限,或者必须在用户登录之前可用。.
今天,我们将从 System32 文件夹开始,使用最安全、最有效的方法,分解创建和运行迷你 Windows 服务的所有可行选项。 我们将解释本机工具和外部实用程序, 技巧 了解不同版本操作系统的相关信息,并了解如何在整个过程中保持进度。出发!
从 System32 创建 Windows 服务是什么意思?
Windows 服务是 能够在后台运行的程序,由操作系统本身管理。与其他登录后启动的程序不同,服务即使没有用户登录也可以运行。它们位于 C:\ WINDOWS \ System32 它对于关键系统服务来说很常见,尽管位于此处的任何可执行文件可能对所有用户都可用,因此它是安装自定义服务的常见位置。
创建服务所需的工具和实用程序
在 Windows 中,特别是 XP、2003 等版本中,将应用程序转换为服务, Windows 7、8、10,甚至 Server 2008,都有多种选择。下面,我们总结了最常用的工具:
- 安装程序 – 用于安装或删除服务的 Microsoft Resource Kit 实用程序。
- 服务端 – 允许您将任何应用程序作为服务运行,即使它不是为此目的而设计的。
- 脚本 – 线条工具 comandos 它集成到 Windows 中,用于创建、配置和控制服务。
- Regedt32.exe/regedit.exe – 注册表编辑器用于调整服务路径和参数。
这些实用程序的组合将允许您在 Windows 系统上安装自定义服务。
经典方法:使用 Instsrv.exe 和 Srvany.exe
最经典的方法,对于许多 Windows 版本仍然有效,包括使用 服务端 y 斯尔瓦尼,Microsoft 在资源工具包中提供的实用程序。
您可以在 Windows NT 资源工具包 或者从微软官方网站下载。你必须将两个文件复制到 System32 以便它们可以从系统中的任何位置使用。
一般程序是:
- 打开命令控制台(CMD) 为管理员。
- 运行命令:
instsrv.exe "NombreDelServicio" srvany.exe
例如:C:\Windows\System32\instsrv.exe Notepad C:\Windows\System32\srvany.exe
- 编辑 Windows 注册表以关联您想要作为服务运行的可执行文件:
- 使用以下方式打开注册表编辑器 注册表编辑器 o regedt32.
- 导航
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
. - 创建一个名为 参数.
- 在此键中,创建一个类型为 REG_SZ 叫 应用领域。其值必须是要作为服务启动的可执行文件的完整路径(例如,
C:\Windows\System32\notepad.exe
).
- 保存更改并关闭注册表编辑器。
- 从 控制面板 > 服务 或者从命令行使用:
NET START NombreDelServicio
这种方法简单且非常灵活,尽管它需要修改 Windows 注册表,因此建议在进行任何更改之前创建备份。
现代方法:使用SC.EXE创建服务
在最新版本的 Windows 中,包括 Windows 10 和 Server, 脚本 它是通过命令行管理服务的首选工具。它允许您从控制台创建新服务、设置启动参数、依赖项等。
基本语法为:
sc.exe create "NombreServicio" binpath= "C:\Windows\System32\ejemplo.exe" start= auto
主要参数:
- binpath= 作为服务启动的可执行文件的完整路径(必需)。
- 类型= 进程类型(own:独立进程,share:共享)。
- 开始= 启动类型(自动:自动,需求:手动,禁用:禁用,延迟自动:短暂延迟后启动自动服务,启动/系统:用于驱动程序)。
- 依赖= 指定此服务所依赖的服务(如果有)。
- 对象= 服务运行的用户帐户(默认为 LocalSystem)。
- 显示名称= 服务控制台中将显示的描述性名称。
添加运行文件的服务的实际示例 miapp.exe
来自 System32:
sc.exe create MiServicio binpath= "C:\Windows\System32\miapp.exe" start= auto
使用此方法,您不需要手动编辑注册表,并且可以从命令行完全控制。
安装后配置和管理
创建服务后,您可以根据自己的需要进行自定义:
- 更改启动模式(自动、手动或禁用) SERVICES.MSC 或控制台 sc.exe配置.
- 使用以下命令启动或停止服务:
NET START NombreDelServicio
NET STOP NombreDelServicio
- 如果需要的话,删除该服务:
sc.exe delete NombreDelServicio
对于使用 srvany/instsrv 创建的服务,您可以编辑注册表中的参数来更改关联的可执行文件或其路径。
避免常见问题的技巧和窍门
如果不遵循某些预防措施,通过修改路径和可执行文件来创建服务可能会导致错误。以下是一些重要提示:
- 始终备份注册表 在进行任何修改之前。
- 确保转换为服务的可执行文件可靠且与作为服务运行兼容。.
- 如果服务没有启动,请检查 Windows 事件日志中是否存在错误以及可能的权限不足。
- 使用具有最低必要权限的用户帐户 在创建关键服务时。
在将服务部署到生产系统之前,务必在测试环境中对其进行测试。
排除 System32 和 Windows 注册表错误
有时, System32 目录或 config\systemprofile\Desktop 等路径可能会导致问题尤其是在 Windows 更新或系统崩溃后。如果您遇到“C:\Windows\system32\config\systemprofile\Desktop 不可用”之类的消息,请尝试以下方法:
1.恢复默认桌面路径
从文件资源管理器中按 赢+ E,右键单击桌面,选择“属性”>“位置”,然后单击“恢复默认值”。这应该可以解决所有路径不正确的问题。
2. 从默认用户复制桌面文件夹
揭示隐藏文件,访问 C:\用户\默认\ 并将桌面文件夹复制到 C:\Windows\system32\config\systemprofile。这样,您就可以恢复该配置文件的桌面。
3. 从注册表中检查配置
打开 注册表编辑器 并签到 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
Desktop 指向的值 C:\Users\%USERNAME%\Desktop
或 %USERPROFILE%\Desktop
.
4.创建新用户帐户
如果其他方法都失败了,请从控制面板或使用命令创建一个新帐户 control userpasswords2
在具有权限的CMD中。分配权限并移动旧用户的文件。
5.使用系统文件检查器
跑 sfc /scannow
从CMD以管理员身份搜索和修复 损坏的文件.
6.更新或重新安装 Windows
如果没有解决方案,则就地升级或重新安装可以恢复操作而不会丢失重要文件。
高级选项:使用 SC.EXE 完成服务管理
对于那些希望完全定制服务行为的人来说, 执行程序 提供一组参数:
- 类型= 定义服务是否为自有、共享、内核等。
- 组= 将服务分配给特定的负载组。
- 标签= 是/否获取控制器 ID。
- 依赖= 定义服务或服务所依赖的组。
- 对象= 指示其运行的帐户(对于特殊权限很有用)。
- 显示名称= 为该服务赋予一个友好名称。
- 密码= 如果服务需要不同的凭证。
一个非常完整的例子是:
sc.exe create MiServicio binpath= "C:\Windows\System32\miapp.exe" type= own start= auto depend= +TDI NetBIOS obj= "NT AUTHORITY\\LocalService" displayname= "Mi Servicio de Prueba" password= "mi_clave"
这样,您就可以跨多个设备自动安装服务,非常适合商业环境。
对字节世界和一般技术充满热情的作家。我喜欢通过写作分享我的知识,这就是我在这个博客中要做的,向您展示有关小工具、软件、硬件、技术趋势等的所有最有趣的事情。我的目标是帮助您以简单而有趣的方式畅游数字世界。