小编spl*_*its的帖子

如何使用 Powershell 授予远程启动/停止服务的权限?

我们有一个 PowerShell 脚本,可以在另一台计算机上重新启动服务。当我们使用 PowerShell 的内置服务控制 cmdlet 时,像这样:

$svc = Get-Service -Name MyService -ComputerName myservicehostname
Stop-Service -InputObject $svc
Start-Service -InputObject $svc
Run Code Online (Sandbox Code Playgroud)

我们得到这个错误:

停止服务:无法在计算机“myservicehostname”上打开 MyService 服务。

但是,当我们使用 sc.exe 时,像这样:

C:\Windows\System32\sc \\myservicehostname stop MyService
C:\Windows\System32\sc \\myservicehostname start MyService
Run Code Online (Sandbox Code Playgroud)

启动和停止成功。

重新启动的用户不是管理员。我们使用 subinacl 授予用户启动/停止和查询服务的权限:

subinacl.exe /service MyService /GRANT=MyServiceControlUser=STO
Run Code Online (Sandbox Code Playgroud)

为什么 PowerShell 不能停止我的服务但sc.exe可以?

powershell windows-service

10
推荐指数
1
解决办法
3万
查看次数

从命令行修复“此访问控制列表不是规范形式”错误

在我们的几个开发人员工作站上,我们遇到了可怕的“此访问控制列表不是规范形式,因此无法修改”。当我们尝试设置某些文件夹的权限时出错。我们无法弄清楚是什么破坏了这些 ACL。

现在,我知道修复它的唯一方法是右键单击损坏的文件夹/文件,选择“属性”,然后单击“安全”选项卡。Windows 然后会注意到损坏并提供修复它。我不喜欢这个,因为它是手动的,需要用户做一些调查来找出哪个文件夹/文件损坏了。

是否有脚本或程序可以自动执行此操作?我看到它icacls有一个/verify参数,但它只是告诉我文件/文件夹上的 ACL 已损坏。它不提供修复任何东西。

windows access-control-list

9
推荐指数
2
解决办法
2万
查看次数

为什么 DSC 找不到已安装的资源?

我正在尝试应用使用来自已安装模块的资源的 DSC 配置。但是,当我运行时Start-DscConfiguration,出现此错误:

PowerShell DSC 资源 ******** 不存在于 PowerShell 模块路径中,也未注册为 WMI DSC 资源。
+ CategoryInfo : InvalidOperation: (root/Microsoft/...gurationManager:String) [], CimException
+fullyQualifiedErrorId : DscResourceNotFound

但是,当我登录服务器并运行时Get-DscResource,缺少的资源在那里。

为什么DSC找不到资源?

powershell dsc

3
推荐指数
1
解决办法
3995
查看次数