[英]dsacls - Invalid DN Syntax in powershell
我正在尝试使用'dsacls'
命令在powershell脚本中修改servicePrincipalName权限。
我把所有的动态参数作为脚本参数。
当我使用收到的arguments变量组成命令时,脚本不起作用。 字符串操作缺少某些东西。
$perStr ='"' + $strDN + '"' + ' /G ' + $DomainNetBIOSName + '\' + $SQLUser + ':RPWP;"servicePrincipalName"'
$ret = dsacls ${perStr}
上面给出了一个错误:
Invalid DN Syntax
当我使用硬编码值运行时,它运行良好。
当我很难构造用于外部可执行文件的字符串时,我倾向于先构建整个命令,然后使用Invoke-Expression
来运行它。 像这样:
$perStr = '& dsacls --% "{0}" /G {1}\{2}:RPWP;"servicePrincipalName"' -f $strDN, $DomainNetBIOSName, $SQLUser
$ret = Invoke-Expression -Command $perStr
--%
会告诉它停止解释超出该点的内容,因此它将完全接受键入的所有参数并将其传递给命令。 看看是否适合您,否则,您可能需要查看$perStr
的内容,以确保它对您而言正确。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.