Vbscript 如何使用vb脚本查找计算机中安装的lync或其升级版本skype
我需要向通信器用户显示警告信息,说明“安装lync,OCS将很快停用”。在显示此警告消息之前,我需要检查microsoft lync 2013或其升级skype是否在用户计算机中可用。如果两者都不可用,则只向用户显示消息 我使用以下代码检查Lync installaed与否。但如果用户使用skype(升级Lync),则向用户显示消息 任何有经验的人的帮助都会很好Vbscript 如何使用vb脚本查找计算机中安装的lync或其升级版本skype,vbscript,Vbscript,我需要向通信器用户显示警告信息,说明“安装lync,OCS将很快停用”。在显示此警告消息之前,我需要检查microsoft lync 2013或其升级skype是否在用户计算机中可用。如果两者都不可用,则只向用户显示消息 我使用以下代码检查Lync installaed与否。但如果用户使用skype(升级Lync),则向用户显示消息 任何有经验的人的帮助都会很好 On Error Resume Next Const HKLM = &H80000002 'HKEY_LOCAL_MACHI
On Error Resume Next
Const HKLM = &H80000002 'HKEY_LOCAL_MACHINE
strComputer = "."
strKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"
strEntry1a = "DisplayName"
strEntry1b = "QuietDisplayName"
strEntry1c = "DisplayVersion"
strEntry1d = "UninstallString"
IsLyncInstalled = 0
Set objReg = GetObject("winmgmts://" & strComputer & "/root/default:StdRegProv")
objReg.EnumKey HKLM, strKey, arrSubkeys
'WScript.Echo "Installed Applications" & VbCrLf
For Each strSubkey In arrSubkeys
intRet1 = objReg.GetStringValue(HKLM, strKey & strSubkey, strEntry1a, strValue1)
if intRet1 <> "" Then
objReg.GetExpandedStringValue HKLM, strKey & strSubkey, strEntry1a, strValue1
intCompare=StrComp("Microsoft Lync 2013",strValue1,vbTextCompare)
IF intCompare = 0 THEN
IsLyncInstalled = 1
WScript.Echo "Microsoft Lync 2013 is installed on this system" &VbCrLf &strEntry1a & " : " & strValue1
END IF
End If
Next
出错时继续下一步
常数HKLM=&H80000002'HKEY\U本地\U机器
strComputer=“”
strKey=“软件\Microsoft\Windows\CurrentVersion\Uninstall\”
strEntry1a=“显示名称”
strEntry1b=“QuietDisplayName”
strEntry1c=“显示版本”
strEntry1d=“卸载字符串”
IsLyncInstalled=0
Set objReg=GetObject(“winmgmts://”和strComputer&“/root/default:StdRegProv”)
objReg.EnumKey HKLM、strKey、arrSubkeys
'WScript.Echo“已安装的应用程序”&VbCrLf
对于ArrSubkey中的每个strSubkey
intRet1=objReg.GetStringValue(HKLM、strKey和strSubkey、strengthY1a、strValue1)
如果intRet1为“”,则
objReg.GetExpandedStringValue HKLM、strKey和strSubkey、Strength1A、Strrvalue1
intCompare=StrComp(“Microsoft Lync 2013”,标准值1,vbTextCompare)
如果intCompare=0,则
IsLyncInstalled=1
WScript.Echo“此系统上安装了Microsoft Lync 2013”&VbCrLf&strEntry1a&“:”&strValue1
如果结束
如果结束
下一个
您可能希望查看WMI类,而不是通过注册表进行搜索。它可以识别电脑上安装的软件,并提供许多属性,可用于识别供应商、版本等
下面的示例显示了如何查询本地计算机并显示Win32产品的一些属性。使用cscript
运行此命令:
strComputer = "."
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSoftware = objWMI.ExecQuery("SELECT * FROM Win32_Product")
For Each objSoftware In colSoftware
s = objSoftware.Caption & vbCrLf
s = s & String(79, "=") & vbCrLf
s = s & "Description: " & objSoftware.Description & vbCrLf
s = s & "Identifying Number: " & objSoftware.IdentifyingNumber & vbCrLf
s = s & "Install Location: " & objSoftware.InstallLocation & vbCrLf
s = s & "Install State: " & objSoftware.InstallState & vbCrLf
s = s & "Name: " & objSoftware.Name & vbCrLf
s = s & "Package Cache: " & objSoftware.PackageCache & vbCrLf
s = s & "SKUNumber: " & objSoftware.SKUNumber & vbCrLf
s = s & "Vendor: " & objSoftware.Vendor & vbCrLf
s = s & "Version: " & objSoftware.Version & vbCrLf
s = s & vbCrLf
WScript.Echo s
Next
查看您是否可以使用
标题
,名称
,SKUNumber
,识别号码
,版本
,供应商
,或其他属性来区分Lync和Skype。您好,谢谢您提供的信息。它解决了我的上述问题。很高兴提供帮助。如果您认为其他人也会觉得我的答案有用,请随意投票和/或接受我的答案。