VBS, чтобы написать несколько строк в текстовом файле - PullRequest
0 голосов
/ 24 марта 2020

У меня есть VBScript, который проверяет всех пользователей и проверяет время последнего входа в систему. я открываю файл для записи внутри файла. Тем не менее, у меня, кажется, есть проблема, когда он пишет только фамилию, которую проверяет вместо всех имен.

Результат в тексте должен быть:

user1 user2 user3 user3 user4

Однако, это мой текущий результат:

user4

Как мне go об этом?

Я извиняюсь, потому что я в основном в C# и VBS очень новый для меня.

Option Explicit
Dim strComputer, objComputer, objUser, FSO, File
Const ForWriting = 2
strComputer = "."
Set objComputer = GetObject("WinNT://" & strComputer)
objComputer.Filter = Array("user")
For Each objUser In objComputer
Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.OpenTextFile("C:\Users\sgbvx\Desktop\test\test.txt",ForWriting, True)
On Error Resume Next
Wscript.Echo objUser.Name & ", " & objUser.LastLogin
File.WriteLine objUser.Name
File.Write objUser.LastLogin
File.Close
If (Err.Number <> 0) Then
On Error GoTo 0
Wscript.Echo objUser.Name & ", "
End If
On Error GoTo 0
Next
File.Close

1 Ответ

0 голосов
/ 24 марта 2020

Так что, очевидно, в моем коде есть какая-то проблема с расположением, которая вызвала много ошибок.

Вот мой ответ и обновленный код для вышеупомянутого:

Option Explicit
Dim strComputer, objComputer, objUser, FSO, File
Const ForWriting = 2
strComputer = "."
Set objComputer = GetObject("WinNT://" & strComputer)
objComputer.Filter = Array("user")
Set FSO = CreateObject("Scripting.FileSystemObject")

//You may change the file name or directory//
Set File = FSO.OpenTextFile("C:\temp\test.txt",ForWriting, True)

//Start of ForEach loop , previously Set FSO and Set File was in this loop//

For Each objUser In objComputer
On Error Resume Next
//Writes Username and LastLogin detail//
File.Write objUser.Name & ", " & objUser.LastLogin
File.WriteLine
If (Err.Number <> 0) Then
On Error GoTo 0
//Writes only Username if LastLogin was not detected//
File.Write objUser.Name & ", "
File.WriteLine
End If
On Error GoTo 0
Next
File.Close
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...