问题标签 [security-identifier]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
121 浏览

powershell - 如何从组的成员属性中提取安全标识符?

假设我们有一个 AD 组,其中一些成员是外部安全主体。在这种情况下,成员属性中的值的格式如下:

CN=S-1-5-21-XXXX-XXXXXXXX-XXXXXXXXX-XXXX,CN=ForeignSecurityPrincipals,DC=dmc,DC=001,DC=net

我们有一个翻译命令来跟踪使用 SID (S-1-5-21-XXXX-XXXXXXXX-XXXXXXXXX-XXXX) 的成员;

powershell有没有办法从成员属性中提取SID?

0 投票
1 回答
600 浏览

winapi - 使用 SID 识别本地帐户与域帐户

我们如何知道 SID(Windows 事件安全标识符)是属于域帐户还是本地帐户?

0 投票
2 回答
1162 浏览

c# - 如何确定字符串是 NT 帐户还是安全标识符?

问题

如何可靠地判断给定的字符串是代表 aNTAccount还是 a SecurityIdentifier

详细

给定一个字符串,我可以通过构造函数将其转换为 anNTAccount或 a :SecurityIdentifier

如果字符串不是 SID,SecurityIdentifier 构造函数将抛出异常。如果字符串是 SID,NTAccount 构造函数将接受它......但是,当我尝试将其转换为 SID 时,System.Security.Principal.IdentityNotMapped将引发异常。

如果我可以说我不知道​​使用共享基类的类型,那就太好了;但那是抽象的/没有公共构造函数;所以我不能这样做:

因此,我能想到的唯一选择是:

  • 使用抛出的错误*来确定类型;但这使错误成为我正常流程的一部分。
  • 检查值是否开始S-;非常快,在大多数情况下应该可以工作;但这是一个黑客。

* 注意:我意识到无效值(即既不是 NT 帐户也不是 SID)也会出现异常;为了保持简短,我暂时忽略了这种情况。

--

C#版本

由于这是一个 .net 问题,而不是特定于 PowerShell 的问题,因此这里的代码用于说明 C# 中的相同问题(遗憾的是,我无法解决这个问题,因为各种 Fiddle 站点限制了所需的功能)。

0 投票
1 回答
139 浏览

windows - 检查特定进程在 delphi 中是否提升

我有以下代码可以帮助检查进程是否在提升的情况下运行。

图像1

如何修改代码以允许它检查某个进程是否被提升?

0 投票
1 回答
42 浏览

c# - 如何在调用 IdentityReference 值时给出 If 条件

//我需要获取网络共享文件夹的权限并显示在网格中。当检索本地文件共享时,它会正确显示帐户名称,但是当我尝试检索共享文件夹权限时,它会显示帐户名称的 SID 而不是显示用户名。所以我使用上面的代码将 SID 值转换为用户名并显示在网格中。但问题是在直接检索某些对象的用户名或组名时会引发错误。所以我想在编码开始之前添加一个 if 条件,即,如果它直接在 IDentityReference 中接收用户对象名,它会显示到网格值否则,如果它在 IDentityReference 中接收到 SID 值,它将进入循环并将其转换为用户名..//

字符串 sid = ace.IdentityReference.Value;

安全标识符 s = 新的安全标识符(sid);

字符串用户名 = s.Translate(typeof(NTAccount)).Value;

dtrow["帐户"] = 用户名;