windows - 检查网络慢的打印机权限
问题描述
改天,我猜另一个脚本。我已经编写了一个脚本,用于在相当大的环境中检查共享打印机的权限。我已经使用 SMB Shares 完成了这项工作,效果很好。但是检查共享打印机权限可以工作,但速度慢得令人难以忍受。
要获得一些排除问题的计算机:
$ADComputer = Get-ADComputer -Filter 'Name -like "DC-*"' | Where-Object { $excludeList -notcontains $_.name }
在那之后,我得到了每个系统的打印机列表:
$Printer = @()
foreach ($compname in $ADComputer.Name){
try {
#Write-Host "Read Data of $($compname)"
$Printerrow = Get-Printer -ComputerName $compname -Full -ErrorAction STOP # Silent Errors
$Printer += $Printerrow
}
catch {
Write-Warning "Spoolerservice on host $($compname) not available."
}
}
在这一步之后,我过滤掉了一些我不想要的打印机,比如 PDF 打印机的东西。最后一段代码检查权限:
ForEach ($objekt in $PrintersFiltered) {
Try {
if($object.Shared -eq $true) {
$Permissions = Convert-SDDLToACL $object.PermissionSDDL | Select-Object Name -Expand IdentityReference | Select-Object -Expand Value
if ($Permissions-eq "Everyone") {
Write-Warning "$($objekt.ComputerName) - $($objekt.name) - Error!"
$ErrorCount++
}
}
}
catch {
break
}
}
我的猜测是,正是这一 $Printerrow= Get-Printer -ComputerName $compname -Full -ErrorAction STOP # Silent Errors
行使脚本如此缓慢。因为如果服务器上的某个假脱机设备没有响应,则需要很长时间。
有没有人有关于如何加快速度的想法/提示?有没有办法通过“调用命令”功能获取打印机列表?
先感谢您!
解决方案
推荐阅读
- c# - 将对象转换为 PartialView 中的模型
- android - 在 PlaceAutocompleteFragment 中添加语音搜索
- r - 地块联合回报期
- node.js - 运行 .getAttribute() 命令时发生错误
: TypeError: _this2.client.assertion 不是函数 - r - 如何在ggplot中从一个数据框添加多个图层?
- python - 带有 Windows Aero 主题的 QWebEngineView 的比例错误
- highcharts - HighCharts/Highstock:如何以编程方式绘制鼠标线
- reactjs - css 转换被忽略,因为反应重新渲染
- ruby-on-rails - Ruby Activerecord:在多个字段中找到相同的值
- android - 如何在库的基本应用程序类中注入成员?