如何通过脚本获取本地计算机名?

dugufeiyun 2008-03-25 11:18:38
由于工作上的需要,需要每天将多台服务器上的日志文件保存到一个固定的位置。目前已经在微软官方网站找到一个脚本用当前日期作为文件名保存日志文件的:

dtmThisDay = Day(Date)
dtmThisMonth = Month(Date)
dtmThisYear = Year(Date)
strBackupName = dtmThisYear & "_" & dtmThisMonth & "_" & dtmThisDay
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,(Backup)}!\\" & _
strComputer & "\root\cimv2")
Set colLogFiles = objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile where LogFileName='Application'")
For Each objLogfile in colLogFiles
objLogFile.BackupEventLog("C:\" & strBackupName & _
"_application.evt")
Next

但是这样做,多台服务器上的日志文件保存到同一个位置后就会出现同名重复,因此想在日志文件名前面再添加一串计算机名以区分,可是不知道该怎么通过Windows脚本来获取当前本地计算机名,因此请赐教!因为本人对Windows脚本不是很熟悉,最好能够给出修改过后的完整的脚本,谢谢。
...全文
275 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljc007 2008-03-25
  • 打赏
  • 举报
回复
[code=BatchFile]echo %computername%[/code]
dugufeiyun 2008-03-25
  • 打赏
  • 举报
回复
谢谢楼上的回复!
chenxdb 2008-03-25
  • 打赏
  • 举报
回复
dtmThisDay = Day(Date)
dtmThisMonth = Month(Date)
dtmThisYear = Year(Date)
strBackupName = dtmThisYear & "_" & dtmThisMonth & "_" & dtmThisDay
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,(Backup)}!\\" & _
strComputer & "\root\cimv2")
Set colLogFiles = objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile where LogFileName='Application'")
Set objNetwork = CreateObject("WScript.Network")
strLocalComputer = objNetwork.ComputerName

For Each objLogfile in colLogFiles
objLogFile.BackupEventLog("C:\" & strLocalComputer & "_" & strBackupName & _
"_application.evt")
Next
chenxdb 2008-03-25
  • 打赏
  • 举报
回复
Set objNetwork = CreateObject("WScript.Network")
strLocalComputer = objNetwork.ComputerName
msgbox strLocalComputer

6,849

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧