Vbscript 试图从用户计算机中提取打印机,然后输出到文本填充。
我试图从用户计算机中提取打印机,然后输出到文本文件,但是当我运行测试时,我得到了一个无效的过程调用或此特定代码行的参数Vbscript 试图从用户计算机中提取打印机,然后输出到文本填充。,vbscript,printers,Vbscript,Printers,我试图从用户计算机中提取打印机,然后输出到文本文件,但是当我运行测试时,我得到了一个无效的过程调用或此特定代码行的参数 Set objOutputFile = objFSO.OpenTextFile(outFile, ForAppending, True) 我已尝试将OpenTextFile更改为CreateTextFile,但我需要将这些行附加到文件中,因为它将作为登录脚本运行 我做了一些研究,并使用Microsoft developer文章来帮助我调试代码中的问题,但我在Visual Ba
Set objOutputFile = objFSO.OpenTextFile(outFile, ForAppending, True)
我已尝试将OpenTextFile
更改为CreateTextFile
,但我需要将这些行附加到文件中,因为它将作为登录脚本运行
我做了一些研究,并使用Microsoft developer文章来帮助我调试代码中的问题,但我在Visual Basic方面没有太多经验
我添加了整个脚本,为正在发生的事情提供上下文
dim objComputerName, ObjNetwork , strText , objfile, StrComputer
dim wshnetwork
Set wshnetwork = CreateObject ("Wscript.network")
StrComputer = WshNetwork.ComputerName
If IsEmpty(StrComputer) Then Wscript.Quit
Set WshNetwork = CreateObject("WScript.Network")
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery("Select * from Win32_Printer")
Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem",,48)
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
outFile = "C:\scripts\Printers" & StrComputer
Set objOutputFile = objFSO.OpenTextFile(outFile, ForAppending, True)
For Each objPrinter in colInstalledPrinters
strTest = Left(objPrinter.Name, 2)
objOutputFile.WriteLine(objPrinter.Name)
objfile.close
Next
Set objPrinter = WshNetwork.EnumPrinterConnections
'Set objOutputFile = objFSO.OpenTextFile (filOutput, ForAppending, True)
If objPrinter.Count = 0 Then
WScript.Echo "No Printers Mapped "
else
For intDrive = 0 To (objPrinter.Count -1) Step 2
intNetLetter = IntNetLetter +1
printer = "UNC Path " & objPrinter.Item(intDrive) & " = " & objPrinter.Item(intDrive +1) & " Printer : " & intDrive
objOutputFile.WriteLine(printer)
Next
end if
objOutputFile.Close``*
我猜这行是一个非法文件名
outFile = "C:\scripts\Printers" & StrComputer
在我的计算机上,这是
c:\scripts\PrintersSerenity
,如果将文本文件称为PrintersSerenity而没有扩展名,则可能不正确。请参见objPrinters=object.EnumPrinterConnections参数object WshNetwork object。objPrinters变量,用于保存网络打印机映射信息代码>用于内置vbs/wsh打印机命令。
outFile = "C:\scripts\Printers" & StrComputer