【发布时间】:2017-11-28 20:58:38
【问题描述】:
我需要一种快速的方法来使用 GET-ACL 提取文件的所有者,并使用用户名而不是域路径创建一个变量。尝试简单地替换域不起作用。
$user = GET-ACL $lastImage.FullName | Select Owner
$user = $user.Replace('ANT\', '')
提供此错误:
Method invocation failed because [Selected.System.Security.AccessControl.FileSecurity] does not contain a method named 'Replace'.
At line:1 char:1
+ $user = $user.Replace('ANT\', '')
我知道替换字符串是正确的,因为它有效:
$user = 'ANT\username'
$user = $user.Replace('ANT\', '')
我也尝试使用 split 没有成功:
$user = GET-ACL | Select Owner
$user.Split('\')[1]
这个,它有效,但输出包含不需要的标题:
$user = Get-ChildItem $lastImage.FullName | select @{Name='Owner';E=
{(($_.GetAccessControl().Owner.Split('\'))[1])}}
有人知道使用 GET-ACL 将用户名作为变量获取的简单方法吗?如果没有,我应该使用更好的 cmdlet 吗?
【问题讨论】:
标签: powershell acl