[英]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.