安装 cygwin sshd 后,sshd 服务失败并显示:
Error 1069: The service did not start due to a logon failure
Run Code Online (Sandbox Code Playgroud)
我尝试授予 cyg_server 标准用户和管理员访问权限。图形界面和cygrunsrv.exe -S sshd.
编辑:什么对我有用:
Install cyglsa-config
Run sshd with SYSTEM account
chown SYSTEM /var/empty
Run Code Online (Sandbox Code Playgroud) 我在工作中开发了一个网站,我们通常为我们的网站使用端口 80/443(正在开发中)。这一直运行良好,直到今天启动网站时出现错误(IIS 7)
无法启动此网站。另一个网站可能正在使用相同的端口。
现在我使用 netstat 来查找持有该端口 80 的进程 ID (PID):
netstat -o -n -a | findstr 0.0:80
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
Run Code Online (Sandbox Code Playgroud)
这在任务管理器中给了我
System 4 SYSTEM 00 56 K NT Kernal & System
Run Code Online (Sandbox Code Playgroud)
经过一番思考,我发现它可能是“万维网发布服务”,它在停止时会清除端口 80 的所有权。
但是这样做我无法启动我的网站:
万维网发布服务 (W3SVC) 已停止。除非万维网发布服务 (W3SVC) 正在运行,否则无法启动网站。
所以现在我有一个鸡蛋问题,需要运行 W3SVC 服务来启动网站,但它正在阻止网站启动。我不想将所有应用程序更改为使用另一个端口,因为这需要做一些工作,而且它昨天还在工作。
有任何想法吗?
我的 Windows 7(64 位)PC 每隔几天就会出现一个问题,需要重新启动才能修复它。
症状:我会注意到它运行得很慢,用户界面甚至跟不上我的打字速度,磁盘工作太辛苦了。
我弹出任务管理器并切换到“所有用户的进程”。进程 svchost.exe(具有该名称的几个进程之一)几乎使用了我所有的可用内存。
如果我右键单击该过程并选择“转到服务”,则会突出显示以下项目:

现在,我打开服务控制台并按顺序重新启动每个控制台。
WinHttp Web 代理自动发现服务:即时
诊断服务主机:错误:
Windows 无法在本地计算机上启动诊断服务主机服务。错误 5:访问被拒绝。(我以管理员身份运行服务。)
网络商店接口服务:提示重新启动更多服务:
重新启动会导致此错误:Windows 无法停止本地计算机上的网络存储接口服务服务。
错误 1051:停止控制已发送到其他正在运行的服务所依赖的服务。
因此,在一些服务成功重启而一些服务失败后,内存/性能情况是相同的。
如果我可以采取任何其他诊断步骤来获取有关此问题的更多信息,请告诉我。非常感谢您的帮助!
在事件查看器 ( eventvwr) 中,我注意到有一个重复错误:
加密服务服务未能初始化目录数据库。ESENT 错误是:-583。
Log Name: Application
Source: CAPI2
EventID: 257
Level: Error
Keyword: Classic
OpCode: Info
Run Code Online (Sandbox Code Playgroud)
我试图在网上找到答案,他们指导我修复 ESENT 数据库(链接)。
我通过以下方式停止加密服务:
net stop cryptsvc
Run Code Online (Sandbox Code Playgroud)
并将catroot2文件夹重命名为catroot2.old. 然后,我通过以下方式重新启动加密服务:
net start cryptsvc
Run Code Online (Sandbox Code Playgroud)
几分钟后,新的catroot2就创建好了。然后我尝试通过以下方式验证内容:
net stop cryptsvc
esentutl /g C:\Windows\System32\catroot2\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\catdb
Run Code Online (Sandbox Code Playgroud)
表明:
Error: Access to source database 'C:\Windows\System32\catroot2\{F750E6C3-38EE-11
D1-85E5-00C04FC295EE}\catdb' failed with Jet error -1811.
Operation terminated with error -1811 (JET_errFileNotFound, File not found) afte
r 0.0 seconds.
Run Code Online (Sandbox Code Playgroud)
碎片整理模式 ( /d) 和校验和模式 …
电脑是定制的,没有预装windows。
大约一年前我有 Windows 7,遇到了这个问题,然后我去了 Windows 8,一切都很好,但我决定回到 win7,问题又回来了......
所以我做了一个干净的 Windows 7 安装,都是最新的,然后突然出现了一个问题。
Windows 时钟有时会以两倍的速度运行(1 秒 = 0.5 秒实时),并且当它自动同步并达到之前的时间(例如,IRL 是 12:00,但 Windows 时钟显示 12:10,所以同步后,它会在 12:00 正常运行,但是当它到 12:10 时,我的 LAN 关闭,当我进行诊断时,它会显示:(“本地连接”没有有效的 IP 配置)并且互联网又回来了)。
BIOS 时钟运行正常,电池正常(记得我刚从 Windows 8 过来,我用了 6 个月,一切都很好。在那之前也用过 Windows,没有出现这样的问题)
我尝试重新启动服务并配置它,没有任何帮助...
我尝试了所有可以在互联网上找到的解决方案,例如
net stop w32time
w32tm /unregister
w32tm /register
regsvr32 c:\windows\system32\w32time.dll
w32tm /config /manualpeerlist:time.windows.com,0x4 /syncfromflags:MANUAL
net start w32time
Run Code Online (Sandbox Code Playgroud)
甚至做了一个sfc /scannow,它发现没有错
没有任何帮助......我无法在线做任何事情,因为时间一直在增加,互联网崩溃......
我不想再花几个小时重新安装 Windows 并发现它仍然存在......
驱动程序已安装。
我猜它是一个软件问题,但无法弄清楚它是什么。
编辑:问题是我之前有 Windows 7,它运行良好,直到有一天它刚刚开始出现这个时间问题。
这是关于 sc.exe
我想在 Windows 中将我的程序作为服务运行。我可以使用命令提示符来完成
我的程序放在system32文件夹中,所以首先我去system32然后我使用这些命令
c:\windows\system32>sc create demo binpath= "pg.exe" type= own start= auto DisplayName= "autostart"
c:\windows\system32>sc config demo binpath= "cmd.exe /c c:\windows\system32>pg.exe" type= own start= auto DisplayName= "autostart"
Run Code Online (Sandbox Code Playgroud)
执行这些命令后,当我重新启动 PC 时,我的程序开始作为服务运行,这很好。
现在,我想制作一个自动脚本来执行这些命令,但无法理解我是如何做到的。
我试过这个
#include <RunCMD.au3>
$cmd = "sc create demo1 binpath= c:\pg.exe type= own start= auto"
_RunCMD($cmd)
$cmd = "sc config demo1 binpath= "cmd.exe /c c:\pg.exe" type= own start= auto"
_RunCMD($cmd)
Run Code Online (Sandbox Code Playgroud)
第一个命令成功执行,但第二个命令没有。
我有一个批处理文件,它经常重新启动内部开发的一组服务。我们很快就会从这些转向更稳定的东西,但目前这些服务需要经常重启才能正常工作。
为了简化这一点,我有一个按计划运行的批处理文件。它看起来像这样:
@ECHO OFF
SETLOCAL EnableDelayedExpansion
ECHO ---------------------------------------------->> log.txt
ECHO -----------========================----------->> log.txt
ECHO -----------=========%date%=========----------->> log.txt
ECHO -----------========================----------->> log.txt
ECHO ---------------------------------------------->> log.txt
set DD=0
Set TIMESTAMP="eol=; tokens=1,2,3,4* delims=/, "
For /F %TIMESTAMP% %%i in ('DATE /t') DO (
SET YYYYMMDD=%%l%%j%%k
SET YYYYMM=%%l%%j
set DD=%%k
)
echo A >> ServiceNames
echo B >> ServiceNames
echo C >> ServiceNames
echo D >> ServiceNames
echo E >> ServiceNames
echo F >> ServiceNames
for /f %%a in (ServiceNames) do (
set timestamp=!date!!time!
ECHO !timestamp! - …Run Code Online (Sandbox Code Playgroud) 我已经将两个系统从 Windows 7 升级到 10,并且升级后都安装了 MSMQ 服务。这些系统之前都没有安装过它。
该服务的存在本身不是问题,但它或依赖项服务正在通过 Microsoft HTTP API(系统进程 PID 4)侦听 TCP 端口 80,因此我无法启动 Apache。
到目前为止,我对答案的搜索一直没有结果,因为我找到的大多数结果都是关于 MSMQ 的设置和配置,但不是新安装的 Win10 系统的目的。
我有两个问题:
在 Windows Home / Professional (Windows 10) 中,创建本地服务帐户的推荐方法是什么?
有没有这方面的文件?(Powershell、GUI 等)。
说明:这不是 Active Directory 问题——或 Windows 服务管理帐户问题——仅限桌面。
Bittorent 的 BTSync 安装提示选择作为本地 Windows 服务启动。
在安装过程中,它会提示您输入本地服务帐户的用户名和密码。
在 Linux 中,我通常会使用 useradd,并将帐户与适当的组相关联:
useradd -M btsync
usermod -L btsync
Run Code Online (Sandbox Code Playgroud)
注意:-r 用于在 Linux 中创建服务帐户,但它是否禁用登录似乎不一致 - 并且未记录,(man 链接)。
不会创建主目录,登录将被禁用,
我的公司设置了一些它开发的软件,在旧版本的 SLES 上使用 init.d 作为服务运行。我们最近开始在 Amazon 的 EC2 中的 SLES 12 实例上设置新环境,并发现 SLES 12 现在使用 systemd 而不是 init.d。然而,init.d 脚本(即 /etc/init.d 中)中定义的服务似乎仍然可以正常启动,因为 systemd 在后台执行一些魔法来处理预先存在的 init.d 脚本,这很棒。
但是,我们不想以 root 用户身份运行我们的服务——而是创建一个新用户来运行我们的服务。问题是,当我们尝试以非 root 用户身份启动我们的服务时,无论 systemd 为运行旧的 init.d 服务做任何准备,都会请求 root 身份验证,我们认为这不是必要的。在较旧的 SLES 环境中(使用实际的 init.d),我们可以毫无问题地以非 root 用户身份启动服务。据我所知,我们的非 root 用户权限和文件所有权在两种环境中都是相同的。
我认为这是 systemd 对旧的 init.d 内容进行后台处理的原因是启动我们服务的脚本在启动/停止服务的实际命令之前立即回显一行文本,但该行不是't output 即我们被要求在 echo 语句之前进行 root 身份验证。隐藏在 systemd 中的某个包/模块需要身份验证,但我现在不记得它的名字了。
请注意,如果可能,我们希望避免为我们的服务创建特定于服务的 .service 文件 - 我们希望坚持使用我们拥有的 init.d 脚本,并以非 root 用户身份运行它。此外,我们希望在不使用 sudo 的情况下运行该服务(我们在旧环境中不需要 sudo)。
对于这个问题缺乏细节表示歉意 - 一旦我回到办公室并可以获取具体细节等,我会用更具体的细节更新它。但这似乎可能是一个常见问题,所以我希望有人可以对此有所了解。
具体来说:我们希望在 SLES 12 上使用 systemd 以非 root 用户身份运行使用旧 init.d …