首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查工作站详细信息和软件组件的脚本

检查工作站详细信息和软件组件的脚本
EN

Stack Overflow用户
提问于 2013-11-29 23:13:05
回答 2查看 537关注 0票数 0

你好,StackOverflow社区

我想创建一个在PC上执行时收集信息的skript。

我目前正在推出新版本的资产管理工具"PAS“。该过程包括许多可能由skript执行的任务。

我想在开始安装之前检查的详细信息是:-域名-用户名-域名- PC的域名-视窗版本和位版本(32对64) -是否安装了.NET框架4或更高版本?(哪个版本)-使用哪个MS Office版本?-我们的程序由许多.dll的->组成。我想将我们最新的软件包与已安装的软件包进行比较,并收到一个“过时”列表。

一个skript会节省我很多时间,因为我需要在几百台PC上执行上面的操作。

不幸的是,我没有太多的编程知识,但我绝对愿意阅读/学习需要。我需要知道的是,它是否可以实现,以及什么是创建这样一个脚本的好媒介(.bat?)。我真的不知道从哪里开始。

也许有人能给我一个提示,从哪里开始?:)

首先要感谢大家!

干杯,格雷格

EN

回答 2

Stack Overflow用户

发布于 2013-12-06 18:43:36

好的,我进一步了解了如何检查cmd中的软件版本并对其进行测试,它工作得很好:

代码语言:javascript
运行
复制
wmic product where "Name like 'Microsoft .Net%'" get Name, Version

(答案在这里:Is there a command line command for verifying what version of .NET is installed )

因此,由于不知道其他任何事情,我将尝试在批处理(.bat)文件中完成。如果你知道比批处理文件更好的选择方式,请留下你的评论!

因此,经过大量的谷歌搜索后,我收集了一些命令包,这将帮助我进行必要的系统查询。

目前,该脚本如下所示:

代码语言:javascript
运行
复制
@ECHO OFF
CD..
DEL Version.txt
wmic os get name, OSArchitecture>Version.txt
wmic cpu get Name>>Version.txt
wmic netuse get Name>>Version.txt
%userdomain%>>Version.txt
wmic product where "Name like 'Microsoft .Net Framework 4%%'" get Name, Version>>Version.txt
wmic product where "Name like 'Microsoft SQL Server 2008%%'" get Name, Version>>Version.txt
"sqlcmd -L">>Version.txt
wmic product where "Name like 'Micro Focus Server 5%%'" get Name, Version>>Version.txt
if exist C:\PAS2\local goto end else mkdir C:\PAS2\local
end:

...and输出(Version.txt)如下所示:

代码语言:javascript
运行
复制
Name                                                                       OSArchitecture  
Microsoft Windows 7 Professional |C:\windows|\Device\Harddisk0\Partition2  64-Bit          
Name                                      
Intel(R) Core(TM) i7-2620M CPU @ 2.70GHz  
Name                    
\\brns01\PUBLIC (M:)    
\\brns01\DISTRIBU (N:)  
\\brns01\DOCUMENT (O:)  
\\brns01\PROJECTS (P:)  
\\BRNS01\PRITRANS (U:)  
\\Brns01\USERS\GN (L:)  
Name                                                 Version    
Microsoft .NET Framework 4.5.1 Multi-Targeting Pack  4.5.50932  
Microsoft .NET Framework 4.5 Multi-Targeting Pack    4.5.50710  
Microsoft .NET Framework 4.5 SDK - DEU Lang Pack     4.5.50710  
Microsoft .NET Framework 4.5 SDK                     4.5.50710  
Microsoft .NET Framework 4 Multi-Targeting Pack      4.0.30319  
Microsoft .NET Framework 4.5.1 RC                    4.5.50861  
Microsoft .NET Framework 4.5.1 RC (DEU)              4.5.50861  
Microsoft .NET Framework 4.5.1 SDK                   4.5.51641  
Microsoft .NET Framework 4.5.1 SDK (Deutsch)         4.5.51641  
Name                                          Version       
Microsoft SQL Server 2008 R2-Setup (Deutsch)  10.52.4000.0  
Microsoft SQL Server 2008 R2 RsFx Driver      10.52.4000.0  
Microsoft SQL Server 2008 R2-Richtlinien      10.50.1600.1  
Microsoft SQL Server 2008 R2 Native Client    10.52.4000.0  
Name                    Version     
Micro Focus Server 5.1  5.107.0047  

当前状态

版本检查.NetFramework:完成!

版本检查MS SQL Server:完成!

版本检查Micro Focus 5:完成!

版本和位检查窗口:完成!

检查域名:打开!(%userdomain%在cmd中有效,但在我的脚本中不起作用)

检查当前用户域名:打开!(还不知道是怎么回事)

检查正在运行的SQL实例:打开!("sqlcmd -L“在cmd中有效,但在我的脚本中不起作用。我在这里有一个非常奇怪的行为。在CMD中:当我使用sqlcmd -l时,它不工作,使用sqlcmd -L大写字母时,它按预期工作。奇怪的是,我的印象是语法不区分大小写。当我在批处理文件中使用sqlcmd -L命令时,它会生成一个很长的中文符号字符串,并且以下所有任务都不会被执行;当我使用上面列出的代码中的"sqlcmd -L“时,它不会在我的文件中生成输出)

检查c:\pas2\local是否存在,如果不存在则创建目录:我认为它可以工作:)

当我解决了上面的一些问题后,我会重新评论。如果你们对改进我的脚本有什么建议,请不要犹豫,请发表意见!谢谢!

干杯Greg

票数 0
EN

Stack Overflow用户

发布于 2013-12-06 19:02:41

更新域名:错误是,我忘记在%userdomain%前面放echo,而且批处理文件“吃掉”了第一个%符号(为什么?)所以我总是要放两个。批处理文件中正确的工作字符串是:

代码语言:javascript
运行
复制
echo %%userdomain%%>>Version.txt

...and在文本文件中,它显示如下:

代码语言:javascript
运行
复制
BRNS

...which是我们的领域

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20288737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档