【发布时间】:2014-01-05 12:47:47
【问题描述】:
Windows 7:
cscript C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs -g
Windows XP:
cscript C:\windows\system32\prnmngr.vbs -g
这些将获得当前系统的默认打印机。我想知道是否有办法在我的计算机上运行它以通过计算机名称获取远程计算机的默认打印机?
我试过跑步:
psexec \\c78572 -i -d cscript C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs -g
它似乎正在运行.. 但我只在远程计算机上的快速弹出 cmd 行窗口中看到结果,而不是在我的计算机上。我看到的只是:
cscript started with process ID 568.
在 powershell gwmi win32_printer -computername c78572 中工作.. 但我不知道如何对其进行排序以显示默认打印机。
编辑 2013 年 12 月 20 日我正在尝试将它与显示所有打印机和默认设置相结合,但我无法让它工作:
while (1) {
$tag1 = Read-Host 'Enter tag # or Q to quit'
if ($tag1 -eq "Q") {
break;
}
cls
sc.exe \\$tag1 start RemoteRegistry;
cls
start-sleep -seconds 2
cls
$OSInfo = get-wmiobject -class win32_operatingsystem -computername $tag1;
$OSInfo | Format-Table -Property @{Name="OS Name";Expression={$_.Caption}},@{Name="System Boot Time";Expression={$_.ConvertToDateTime($_.LastBootUpTime)}} -AutoSize;
gwmi win32_printer -computername $tag1 | ft -Property @{Name="Printer Name";Expression={$_.Name}} -AutoSize;
$Computer = $tag1
$Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('currentuser', $Computer)
$RegKey= $Reg.OpenSubKey('Software\Microsoft\Windows NT\CurrentVersion\Windows')
$DefaultPrinter = $RegKey.GetValue("Device")
$DefaultPrinter | ConvertFrom-Csv -Header Name, Provider, Order| Select Name
# Alt method: Get-WmiObject win32_printer -computername c60311
}
【问题讨论】:
标签: powershell printing command-line command wsh