eli*_*hen 5 windows services user-accounts powershell windows-services
在 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 链接)。
不会创建主目录,登录将被禁用,
Windows 7、8/8.1、Windows 10 - 家庭版和专业版。
\n安装服务的程序(如 BTSync)——但不像其他程序那样遵循 Windows 服务约定(IIS、MySQL、SQL Server 等)。
\nWindows 不使用Linux 意义上的“服务帐户”,而是使用“虚拟帐户”和“托管服务帐户”(用于参与 LDAP 环境的计算机)。
\n服务帐户命名约定:根据命名约定,虚拟帐户应遵循以下形式:“命令名称”-[扩展名]+“svc”注释注释
: NT Service\\ 应该是“属性”>“常规”选项卡中的服务名称 -它不必包含“svc”或命令名称。(不过,我还没有使用 PowerShell 脚本对此进行测试。)
"btsync.exe" becomes "NT Service\\btsyncsvc"
打开本地服务管理单元“services.msc”
\n导航到所需的服务(btsync),右键单击“属性”。
\n选择“登录”选项卡。
\n选择指定用户的选项。
\n输入“常规”服务名称,如上所述:(不带引号)。
\nNT Service\\btsyncsvc
删除密码。
\n保存 - 应用
\n重新启动服务。
\n设置文件夹权限 - 使用完整帐户名称:“NT Service\\btsyncsvc”,(根据上下文可能需要也可能不需要使用引号...)...
\nbtsyncsvc 不必具有执行权限,因此如果您愿意,请删除 - 否则,完全控制。
\n例如,如果您指定“NT Service\\btsync”而不是“NT Service\\btsyncsvc”,则会发生此错误...
\n以下命令将返回当前服务帐户名称的列表。
\n使用 PowerShell (PS),根据您指定用于“登录”的列表验证该列表:
\n PS > get-service | foreach {Write-Host NT Service\\$($_.Name)}
如果您指定了不正确的“约定名称”,或者确实缺少权限,则可能会发生此错误 - 但如果使用正确的约定,则会自动分配权限。
\n在 Windows 10 家庭版中,用户将无法使用本地安全策略管理单元来配置此功能 (secpol.msc),而必须通过 PowerShell 或其他实用程序手动完成。
\nPowerShell 脚本:
\n要解决此问题,可以使用 PowerShell。“授予登录即服务 PowerShell 脚本,来自 Technet Gallery”:
\n如果 PowerShell 报告“ExecutionPolicy Error”,则可能需要更改 ExecutionPolicy:
\nPS > Set-ExecutionPolicy RemoteSigned
...可能会导致签名错误--然后改为:
\nPS > Set-ExecutionPolicy Unrestricted
然后使用脚本分配权限:
\nPS > .".\\Add Account To LogonAsService.ps1" "NT Service\\btsyncsvc"
如果需要,重置执行策略:
\nPS > Set-ExecutionPolicy Restricted
希望这可以帮助!
\n| 归档时间: |
|
| 查看次数: |
9010 次 |
| 最近记录: |