VBScript写入服务器文本文件

时间:2012-06-20 15:13:03

标签: vbscript

我创建了一个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

2 个答案:

答案 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