我正在使用此代码作为在设置文件夹权限之前验证用户或组的方法,并且在这方面它运行良好。
然而,不知怎的,If
返回0.如果我删除了If
我没有得到0回显到控制台。如果我只是在内部重新添加,如果我仍然得到0那么它肯定是在if中。但是,当If。
try {
if (-not ((New-Object System.Security.Principal.NTAccount($principal)).Translate([System.Security.Principal.SecurityIdentifier]))) {
$filePermissions.error.Add("'$principal' is not a valid user or group")
}
} catch {
$filePermissions.error.Add("'$principal' is not a valid user or group")
}
我也试过添加一些> if中的$ nulls,像这样
if (-not ((New-Object System.Security.Principal.NTAccount($principal) > $null).Translate([System.Security.Principal.SecurityIdentifier]) > $null)) {
我仍然看到0.显然发生了一些基本的事情,与我怀疑的New-Object有关,但我真的不理解它。