У меня есть скрипт, который позволяет мне получать определенную информацию о машине, когда пользователь запускает скрипт, и результат записывается в текстовый файл на общем сервере. Сценарий работает нормально ... однако я бы хотел, чтобы он не повторял заголовки, когда следующий пользователь запускает сценарий. Я искал по форумам, но не смог найти ничего, что позволило бы мне выполнить это. Извиняюсь, если мой язык скучный. Я уверен, что это что-то довольно легко, и был бы признателен, если бы кто-нибудь дал мне несколько советов. Я не программист, но я очень увлечен написанием сценариев, которые облегчают мою работу.
В настоящее время так выглядит результат.
User Name, Host Name, Manufacturer, Serial Number, Operating System, Model
CA\username, NAPHX-C63E90K-L, LENOVO, PC63E90K, Microsoft Windows 7 Enterprise 6.1.7601, 20AMS1UD00
User Name, Host Name, Manufacturer, Serial Number, Operating System, Model
CA\username, USAPHX-6GL4R7-L, LENOVO, PC6GL4R7, Microsoft Windows 10 Enterprise 10.0.17134, 20FMS3XC00
User Name, Host Name, Manufacturer, Serial Number, Operating System, Model
CA\username, USAPHX-6KTBAY-L, LENOVO, PC6KTBAY, Microsoft Windows 10 Enterprise 10.0.17134, 20EQS2NM00
User Name, Host Name, Manufacturer, Serial Number, Operating System, Model
CA\username, MEXMEC-6Z0A6U-L, LENOVO, PC6Z0A6U, Microsoft Windows 10 Enterprise 10.0.17763, 20L8S6G20E
Я хочу, чтобы это выглядело так.
User Name, Host Name, Manufacturer, Serial Number, Operating System, Model
CA\username, NAPHX-C63E90K-L, LENOVO, PC63E90K, Microsoft Windows 7 Enterprise 6.1.7601, 20AMS1UD00
CA\username, USAPHX-6GL4R7-L, LENOVO, PC6GL4R7, Microsoft Windows 10 Enterprise 10.0.17134, 20FMS3XC00
CA\username, USAPHX-6KTBAY-L, LENOVO, PC6KTBAY, Microsoft Windows 10 Enterprise 10.0.17134, 20EQS2NM00
CA\username, MEXMEC-6Z0A6U-L, LENOVO, PC6Z0A6U, Microsoft Windows 10 Enterprise 10.0.17763, 20L8S6G20E
Вот пример моего текущего сценария.
' On Error Resume Next
' Constants for FileSystemObject
Const FOR_READING = 1
Const FOR_WRITING = 2
Const FOR_APPENDING = 8
strFileOutput = "\\servershare\folder\info.txt"
' Create a Script Runtime FileSystemObject.
Set objFSO = CreateObject("Scripting.FileSystemObject")
' Check to see if the output file exists. If so, open it for writing or appending.
' If not, create it and open it for writing.
If objFSO.FileExists(strFileOutput) Then
Set objOutputFile = objFSO.OpenTextFile (strFileOutput, FOR_APPENDING)
Else
Set objOutputFile = objFSO.CreateTextFile(strFileOutput)
End If
If Err <> 0 Then
Wscript.Echo "Unable to open " & strFileOutput & " for output."
WScript.Quit
End If
'Create Headers for Host, Manufacturer, Serial Number
objOutputFile.Writeline "User Name, Host Name, Manufacturer, Serial Number, Operating System, Model"
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSettings = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
For Each objComputer in colSettings
PCMfg = objComputer.Manufacturer
PCName = objComputer.Name
UserName = objComputer.UserName
'Wscript.Echo "User: " & Manufacturer: " & PCMfg & VbCrLf & "PC Name: " & PCName
NEXT
Set colBIOS = objWMIService.ExecQuery ("Select * from Win32_BIOS")
For each objBIOS in colBIOS
SerNo = objBIOS.SerialNumber
'Wscript.Echo "Serial Number: " & SerNo
NEXT
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
OS = objOperatingSystem.Caption & " " & objOperatingSystem.Version
'Wscript.Echo "Operating System: " & objOperatingSystem.Caption & " " & objOperatingSystem.Version
Next
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("SELECT Version FROM Win32_ComputerSystemProduct")
For Each objItem in colItems
Model = objItem.Name
'Wscript.Echo "Model: " & objItem.Name
Next
objOutputFile.Writeline Username & ", " & PCName & ", " & PCMfg & ", " & SerNo & ", " & OS & ", "& Model
objOutputFile.Close
x=msgbox("Process is now complete. Thank you for your time!" ,0, "PC Info Complete")