AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1806776
Accepted
Vomit IT - Chunky Mess Style
Vomit IT - Chunky Mess Style
Asked: 2023-09-02 03:38:02 +0800 CST2023-09-02 03:38:02 +0800 CST 2023-09-02 03:38:02 +0800 CST

查询打印机“打印默认值”属性

  • 772

如何以编程方式从打印机Printing Defaults设置中检索和显示属性值?

我可以使用 PowerShell 成功地从打印机检索属性值Preferences,但在尝试专门访问Printing Defaults.

更多背景信息

因此,您可以设置打印机preferences,并且可以设置打印机printing defaults:

  1. 打印首选项: Printer Properties | General选项卡|Preferences
  2. 打印默认值: Printer Properties | Advanced选项卡|Printing Defaults

当对特定打印机执行此 PowerShell 查询时,它仅从 中检索设置,Preferences而不是从 中检索设置Printing Defaults,这是我需要的信息。

获取打印默认值

$p = "Printer XYZ";
$printerConfigs = Get-WmiObject -Class Win32_PrinterConfiguration | Where {$_.Name -like "*$p*"};

foreach ($config in $printerConfigs) {
    $printerName = $config.Caption;
    $collate = $config.Collate;
    $color = $config.Color;
    $duplex = $config.Duplex;
    $paperSize = $config.PaperSize;

    ## -- Display output
    Write-Host "Printer: $printerName" -ForegroundColor Yellow;
    Write-Host "Collate: $collate" -ForegroundColor Yellow;
    Write-Host "Color: $color" -ForegroundColor Yellow;
    Write-Host "Duplex: $duplex" -ForegroundColor Yellow;
    Write-Host "Paper Size: $paperSize" -ForegroundColor Yellow;
    
    Write-Host "-----------------------";
};

打印机设置

使用驱动程序: RICOH PCL6 Universal V4.37

其中包括我在该打印机的首选项选项中看到的屏幕截图,PowerShell 查询输出按预期向我显示了这一点。不过,在打印默认设置中,它被设置为彩色和双面,与首选项设置不同。

如果我更改首选项,然后运行 ​​PowerShell 查询,我可以看到输出值按预期更改 - 在重新运行此查询时,我看不到打印默认值以及这些值发生更改(或不同)时的情况。我对查看打印默认设置值很感兴趣。

这就是我所看到的Preferences

在此输入图像描述

这就是我所看到的Printing Defaults

在此输入图像描述

输出

Printer: Printer XYZ
Collate: False
Color: 1
Duplex: False
Paper Size: Letter 8 1/2 x 11 in
-----------------------

我还尝试使用Get-WmiObject -Class Win32_Printer和许多其他东西,但我还没有从Printing Defaults打印机上设置的设置中恢复设置。

总之,我期待收到指导、建议、示例代码或您成功检索这些打印机属性的任何经验。此外,如果您有可以帮助我实现此目标的非 PowerShell 解决方案,我也愿意探索这些选项。我的主要重点是从打印机获取必要的属性值。

windows
  • 1 1 个回答
  • 78 Views

1 个回答

  • Voted
  1. Best Answer
    Vomit IT - Chunky Mess Style
    2023-09-04T06:28:38+08:002023-09-04T06:28:38+08:00

    要使用 PowerShell 检索打印机的打印默认配置设置,您可以使用Get-PrintConfigurationcmdlet。经确认,此方法与Windows 10和Windows Server 2019兼容。

    注意: 所有已确认可正常工作的打印机均使用制造商“通用”分类驱动程序。

    电源外壳

    $p = "Printer XYZ";
    $printerConfigs = Get-PrintConfiguration -PrinterName $p;
    $printerConfigs | Select PrinterName, Collate, Color, DuplexingMode, PaperSize;
    

    输出

    PrinterName   : Printer XYZ
    Collate       : False
    Color         : True
    DuplexingMode : TwoSidedLongEdge
    PaperSize     : Letter
    

    支持资源

    • 获取打印配置

      该Get-PrintConfigurationcmdlet 获取有关指定打印机的配置信息。使用 Get-PrintConfigurationcmdlet,您可以管理以下功能的配置:

      • 整理
      • 颜色
      • 双工模式
      • N 向上
      • 纸张尺寸
    • 使用 Powershell 更改默认打印机设置

    • 设置打印配置


    免费

    • DEVMODEW结构

    • 什么是开发模式?

      DEVMODE 是保存打印机设置(有关打印机的初始化和环境信息)的 Windows 结构。它包含两部分:公共和私有。

      • 公共部分包含所有打印机共用的数据。

      • 私有部分包含特定于特定打印机的数据。私有部分的长度可以是可变的,并且包含所有特定制造商相关的设置。

        • 公共部分:此部分对打印机驱动程序模型中公开的常规设置进行编码,例如打印机名称、驱动程序版本、纸张尺寸、方向、颜色、双面打印等。公共部分保持任何打印机驱动程序不变,并且不支持与标签打印机(热敏打印机、工业喷墨打印机、激光雕刻机)相关的细节。

        • 私有部分:该部分对公共部分中不可用的设置进行编码。<Some manufacturer>打印机驱动程序使用此部分来存储打印机型号特定的数据,例如打印速度、温度设置、偏移、打印模式、介质类型、传感器、切割器、图形编码、RFID 支持等。DEVMODE 私有部分内的数据结构是驱动程序开发人员定义的二进制数据流。

      DEVMODE 更改

      DEVMODE数据结构存储在Windows注册表中。该结构有两个副本:默认打印机设置和用户特定的打印机设置。您可以通过更改打印机驱动程序中的参数来更改 DEVMODE(打印机设置)。前两个选项与 Windows 相关,而第三个选项则通过软件提供<some manufacturer>。

      • 默认打印机设置:这些设置在打印机属性 > 高级选项卡 > 打印默认值中定义。

      • 用户特定设置:这些设置针对每个用户单独存储在用户的HKEY_CURRENT_USER注册表项中。默认情况下,用户特定设置继承打印机的默认设置。用户特定设置在打印机属性 > 首选项中定义。这里的所有修改仅影响当前用户。

      来源

    • 0

相关问题

  • 如何在 Windows Precision 触摸板上禁用鼠标加速?

  • 批量重命名图像文件集

  • Python 的“pass”参数的批处理等价物是什么?

  • 在 Windows 上与 Docker 守护进程通信

  • 资源管理器侧面板中的桌面外壳快捷方式

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Vickel Firefox 不再允许粘贴到 WhatsApp 网页中? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve