首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >:摆脱SID

:摆脱SID
EN

Stack Overflow用户
提问于 2018-04-06 00:06:39
回答 1查看 872关注 0票数 1

我试图从安全标识符( SID )中检索相对标识符(RID),据我所知,SID是SID上的最后一个数字序列。我收到了一个使用正则表达式检索值的代码示例,但我是RegEx新手(参见下面的链接)。所以,在我没有完全理解它之前使用它之前,我的问题是:是否有理由使用RegEx而不是在字符串中的最后一个'-‘之前获得正确的最大值?

代码语言:javascript
复制
        // Retrieve the RID from the SID.
        string strObjectSid = "S-1-5-21-397955417-62688126-188441444-1010";
        var reg = new Regex( @"^S.*-(\d+)$" );
        var match = reg.Match(strObjectSid);
        var rid = match.Groups[1].Value;

rid的预期结果是1010。

Active Directory: DirectoryEntry member list <> GroupPrincipal.GetMembers()

此外,我尝试从AD检索RID属性,但它是不可用的。Microsoft没有提供任何检索RID的方法。我知道这似乎是一个愚蠢的问题,但是这个值对于我想要完成的任务很重要,所以它需要与我实现的任何方法一起正确。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-06 16:31:37

没有RegEx,这是没有理由的。我也是从其他地方抄袭的。

该正则表达式只是告诉它在字符串结束前出现的破折号之后查找一组数字。

所以,基本上,最后一组数字。

Substring也可以这样做(搜索最后一个破折号,添加1并返回从该位置到末尾的所有内容):

代码语言:javascript
复制
strObjectSid.Substring(strObjectSid.LastIndexOf('-') + 1)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49683341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档