powershell 如何在Windows上从命令行查看命名管道权限

ki1q1bka  于 2022-11-10  发布在  Shell
关注(0)|答案(4)|浏览(326)

我有一个现有的命名管道,比如\\.\pipe\my_pipe。如何从cmd或PowerShell获取管道的ACL/权限?

sqserrrh

sqserrrh1#

此工具有帮助-https://learn.microsoft.com/en-us/sysinternals/downloads/accesschk
在PowerShell中:.\acceschk64.exe.\管道<名称>

bzzcjhmw

bzzcjhmw2#

要扩展this answer from another post,请执行以下操作:

Get-ChildItem \\.\pipe\ | ForEach-Object -ErrorAction SilentlyContinue GetAccessControl

您还可以使用Get-Member帮助您导航FileSecurity对象:

Get-ChildItem \\.\pipe\ | ForEach-Object -ErrorAction SilentlyContinue GetAccessControl | Get-Member
1u4esq0p

1u4esq0p3#

有一个很棒的工具NtObjectManager,作者是James Forshaw。安装后,使用管理员权限打开PowerShell并运行:

PS C:\WINDOWS\system32> $a = Get-NtNamedPipeFile "\Device\NamedPipe\spoolss"
PS C:\WINDOWS\system32> $a.SecurityDescriptor.Dacl

Type    User                         Flags Mask
----    ----                         ----- ----
Allowed BUILTIN\Users                None  00100003
Allowed Everyone                     None  001201BB
Allowed NT AUTHORITY\ANONYMOUS LOGON None  001201BB
Allowed CREATOR OWNER                None  001F01FF
Allowed NT AUTHORITY\SYSTEM          None  001F01FF
Allowed BUILTIN\Administrators       None  001F01FF
f0ofjuux

f0ofjuux4#

ls '\\.\pipe\' | % { try{ $_.GetAccessControl() } catch{"nope"}}

相关问题