在 Cmd 中获取用户组织单位并删除除组织单位名称之外的所有内容并传递给变量

问题描述 投票:0回答:1

我想使用命令提示符查找当前用户所属的组织单位,然后仅将组织单位名称的值存储到名为 MyOu 的变量中(但实际上可以是任何变量名称),然后回显MyOu 的价值。

例如,如果我们使用命令

whoami /fqdn 我得到以下输出

CN=约瑟夫·桑德斯、OU=IT 员工、DC=hpaba、DC=本地 从该输出中我想要变量中的数据

我的欧 成为......

IT人员 因此,如果我使用 echo MyOu,输出将是:IT Staff

如何从 cmd 提示符完成此操作?

一旦我开始工作,它将最终进入批处理文件。预先感谢!

编辑:我被告知要编辑问题,因为它可能已在这里得到解答:使用批处理脚本分割字符串,但是,我不同意我的问题已得到解答,因为示例不一样。在给出的示例中,用户正在设置一个值并使用 CSV 文件中的数据(至少对我来说是这样),并且我正在使用从当前登录用户中提取的数据(该数据可以根据登录用户而变化) in)而不是静态数据。

此外,给出的假设回答我的问题的示例没有考虑到我正在使用并尝试“拆分”的值具有等号、空格和逗号。我只想保留 OU= 之后但 ,DC=hpaba,DC=local 之前的数据。

换句话说,当我运行命令:whoami /fqdn 时,我得到以下结果:

CN=约瑟夫·桑德斯、OU=IT 员工、DC=hpaba、DC=本地 我只想要以下内容:IT 员工存储在变量 MyOu 中,但作为可能的重复解决方案给出的示例并不能解决这种复杂的情况。

batch-file cmd
1个回答
0
投票

来自this堆栈溢出帖子

whoami /fqdn | sed 's/.*OU=\(.*\),.*/\1/'

这应该会为您提供正确的输出,您可以使用它来设置变量。

© www.soinside.com 2019 - 2024. All rights reserved.