我有一个问题 我想创建一个脚本,它在打印服务器中定位一个 tcp/ip 打印机,这样它就可以“正确”安装,现在我们的解决方案是通过打印服务器并通过描述排序(其中列出了 ip每台打印机)并手动查看,我想自动执行此过程。 问题是,我不能在打印服务器上使用 dir(不会让我知道为什么)
有人有想法吗?
到目前为止,我已经制作了一个脚本,通过查询远程 pc 的注册表在远程计算机上定位所有网络打印机(让它是 TCP/IP 或通过打印服务器安装),但我卡在了这个上。
顺便说一句,它必须是批量的,因为我不能有效地使用 Powershell 作为我工作的一部分(作为帮助台)
尝试使用 dir 并抛出错误,因为它是网络路径。 尝试使用(反向)nslookup,但打印机没有 DNS 记录。
到目前为止这是(相关的)代码
@echo off
setlocal enabledelayedexpansion
set /p pc=Enter Computer Name or IP address:
for /f "tokens=*" %%i in ('reg query "\\%pc%\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers" 2^> nul ') do (
for /f "tokens=2*" %%a in ('reg query "\\%pc%\%%i" /v Port 2^> nul') do (
set "port=%%b"
set "check=!port:.=!"
if not "!port!"=="!check!" (
echo !port!
)
)
)
pause