我正在尝试删除CanonicalName中最后一个斜杠之后的所有内容。如您所料,字母,字符,单词的数量和长度是可变的。这就是为什么我需要使用这样一个事实,即最后一个斜杠“ /”之后的所有内容都是每个人唯一的共同点。
我正在使用以下内容:
(Get-ADUser Identity USER -Properties *).CanonicalName
正常输出如下:
domain.tld/dept/section/office/USER
我希望结果是:
domain.tld/dept/section/office
最终,这将被合并到for循环中,并通过成千上万的用户运行,这就是为什么我需要找到一种剥除末端的方法的原因。
答案 0 :(得分:0)
您可以执行以下操作:
(Get-ADUser Identity USER -Properties CanonicalName).CanonicalName -replace '/[^/]*$'
/
与文字/
匹配。 [^]
是一个否定的字符类,它使[^/]
匹配除/
之外的任何字符。 *
是零个或多个匹配量(贪婪匹配)。 $
是字符串的结尾。
路径转换也可以正常工作,但是如果平台的目录分隔符char不是/
,则/
将转换为其他格式。然后,您将剩下的将它们转换回去。与使用简单的-replace
运算符相比,这需要更多的工作。