我创建了一个VBScript,它从计算机中提取服务标签,用户名和计算机名称。我现在需要做的是在文本文档中编译这些信息。
如何设置如下:
我们有一个Active Directory服务器,带有登录脚本的文件夹。我创建了一个批处理文件来运行这个.vbs脚本,到目前为止脚本运行良好。我现在需要的是AD服务器上的一个名为“logging.txt”的文件,其中填充了使用.vbs脚本创建的信息。
这是我到目前为止的脚本:
'Get Dell Service Tag Info
set ProSet = GetObject("winmgmts:").InstancesOf("Win32_BIOS")
Set ProSet1 = GetObject("winmgmts:").InstancesOf("Win32_SystemEnclosure")
For each Pro in ProSet
For each Pro1 in ProSet1
ServiceTag=Pro.SerialNumber
wscript.echo ServiceTag
exit for
Next
exit for
Next
'get username and computername, could also be asked in a batch
Set oShell = WScript.CreateObject("WScript.Shell")
Set oShellEnv = oShell.Environment("Process")
sComputerName = oShellEnv("ComputerName")
sUsername = oShellEnv("username")
wscript.echo sComputerName & " " & sUsername
非常感谢你!
这是我到目前为止所尝试的:
sub log (user, computer)
dim fs,f
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.OpenTextFile(Server.MapPath(".\logging.csv"),8,true)
f.WriteLine now & "," & user & "," & computer
f.Close:set f=Nothing
set fs=Nothing
end sub
答案 0 :(得分:1)
我觉得好像你要留下一些东西..这就是如何在VBS中编写文本文件。
dim filesys, filetxt, getname, path
Set filesys = CreateObject("Scripting.FileSystemObject")
Set filetxt = filesys.CreateTextFile("c:\somefile.txt", True)
path = filesys.GetAbsolutePathName("c:\somefile.txt")
getname = filesys.GetFileName(path)
filetxt.WriteLine("Your text goes here.")
filetxt.Close
If filesys.FileExists(path) Then
Response.Write ("Your file, '" & getname & "', has been created.")
End If
答案 1 :(得分:0)
最简单的方法是将信息保存到本地文本文件,然后使用命令行ftp utility从调用脚本的批处理脚本上载它,而不是尝试发明另一个轮子并在vbscript中执行。
您可以使用以下命令列出ftp的命令行选项:
ftp /?
我建议设置如下内容:
ftp -s:control.txt
control.txt包含类似的内容:
open [hostname or address]
[username]
[password]
cd [remote directory name]
put logging.txt
disconnect
bye