以用户名格式输出打印机权限

时间:2018-01-18 07:29:37

标签: powershell printing permissions

我有一个脚本,我认为可以让我的打印机以用户名格式输出他们的权限,我收到错误"找不到接受参数的位置参数'。 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
}

1 个答案:

答案 0 :(得分:1)

这种情况会发生,因为对象属性的引用方式不正确。

$printers = Get-Printer Name -Full.PermissionSDDL

尝试传递Get-Printer不支持的参数-Full.PermissionSDDL。更重要的是,-Name开关缺少开关标识符,以及实际的打印机名称。

正确的语法是

$printers = (Get-Printer -Name myPrinter -Full).PermissionSDDL