1 (изменено: Lord, 2013-06-21 13:46:24)

Тема: VBScript: Название компа в имени файла

Добрый день. Не могу получить в имени файла название компа (файл должен называться <название компа_security.evt>).


strComputer = "." 
Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate,(Backup, security)}!\\" & _ 
        strComputer & "\root\cimv2") 
 
Set colLogFiles = objWMIService.ExecQuery _ 
    ("Select * from Win32_NTEventLogFile where LogFileName='Security'") 
 
 For Each objLogfile in colLogFiles 
    errBackupLog = objLogFile.BackupEventLog("C:\" & strComputer & "_security.evt")
    If errBackupLog <> 0 Then         
        Wscript.Echo "The Security event log could not be backed up." 
    Else 
        objLogFile.ClearEventLog() 
    End If 
Next

Помогите, пожалуйста, новичку кто чем сможет

2

Re: VBScript: Название компа в имени файла

'-----------------------------------------------------------------------------
Dim objWshNetwork

Set objWshNetwork = WScript.CreateObject("WScript.Network")
WScript.Echo objWshNetwork.ComputerName

'-----------------------------------------------------------------------------
Dim objSystemInfo

Set objSystemInfo = WScript.CreateObject("WinNTSystemInfo")
WScript.Echo objSystemInfo.ComputerName

'-----------------------------------------------------------------------------
Dim strComputer

Dim objSWbemLocator
Dim objSWbemServicesEx
Dim collSWbemObjectSet
Dim objSWbemObjectEx

strComputer = "."

Set objSWbemLocator    = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")

Set collSWbemObjectSet = objSWbemServicesEx.ExecQuery("SELECT * FROM Win32_ComputerSystem")

For Each objSWbemObjectEx In collSWbemObjectSet
    WScript.Echo objSWbemObjectEx.Name
Next

3

Re: VBScript: Название компа в имени файла

Почему-то не помогло. При запуске скрипта выскакивает окно с именем машины, а в название файла вместо имени стоит точка.

4

Re: VBScript: Название компа в имени файла

Всё, получилось! Нужно было вместо strComputer = "."

прописать

Set WshNetwork = CreateObject("WScript.Network")
strComputer = WshNetwork.ComputerName