我有一个脚本,我认为可以让我的打印机以用户名格式输出他们的权限,我收到错误"找不到接受参数的位置参数'。 PermissionSDDL'
以下是我的剧本
$computerfile = get-content "\\test\d$\test\Ltest\test\MW
scripts\test.txt"
ForEach ($computer in $computerfile) {
Get-WmiObject Win32_Printer -ComputerName $computer |
Select-Object Name,Systemname, Local |
Format-Table -AutoSize
}
$printers = Get-Printer Name -Full.PermissionSDDL
ForEach ($Printer in $Printers) {
$objSID = New-Object System.Security.Principal.SecurityIdentifier
$objUser = $objSID.Translate( [System.Security.Principal.NTAccount])
$objUser.Value
}
答案 0 :(得分:1)
这种情况会发生,因为对象属性的引用方式不正确。
此
$printers = Get-Printer Name -Full.PermissionSDDL
尝试传递Get-Printer不支持的参数-Full.PermissionSDDL
。更重要的是,-Name
开关缺少开关标识符,以及实际的打印机名称。
正确的语法是
$printers = (Get-Printer -Name myPrinter -Full).PermissionSDDL