簡體   English   中英

dsacls-Powershell中的無效DN語法

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM