我正在尝试制作一个脚本,它将给我一份安装在 Windows 机器上的软件的报告。
现在我正在从注册表卸载文件夹中提取信息,但是有一个问题。
我得到了两个很多信息
我对帮助程序、运行时、驱动程序包等软件不感兴趣。唯一重要的是可能需要许可证的软件,例如。Microsoft SQL server、MS Office、Adobe Photoshop 等。
是否有一种聪明的方法来确定这一点,或者它是一种艰难的方法并通过常规 exp 对其进行排序?
现在我有一个创建 txt 文件的 VBScript。然后我在 C# 中对它进行排序。
on error resume next
Const HKLM = &H80000002 'HKEY_LOCAL_MACHINE
Set objNetwork = CreateObject("Wscript.Network")
strComputer = objNetwork.ComputerName
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.CreateTextFile("C:\Users\a-frkjer\Desktop\" & strcomputer & ".txt", True)
strKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"
strEntry1a = "DisplayName"
strEntry1b = "QuietDisplayName"
strEntry1c = "Publisher"
Set objReg = GetObject("winmgmts://" & strComputer & _
"/root/default:StdRegProv")
objReg.EnumKey HKLM, strKey, arrSubkeys
objTextFile.WriteLine ".::SECTION"
For Each strSubkey In arrSubkeys
intRet1 = objReg.GetStringValue(HKLM, strKey & strSubkey, _
strEntry1a, strValue1)
intRet1c = objReg.GetStringValue(HKLM, strKey & strSubkey, _
strEntry1c, strValue1c)
If intRet1 <> 0 Then
objReg.GetStringValue HKLM, strKey & strSubkey, _
strEntry1b, strValue1
End If
If strValue1 <> "" Then
objTextFile.WriteLine strValue1c & " " & strValue1 & " ¿ " & strcomputer & "¿"
End If
Next
strKey2 = "SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\"
strEntry2a = "DisplayName"
strEntry2b = "QuietDisplayName"
strEntry2c = "Publisher"
Set objReg = GetObject("winmgmts://" & strComputer & _
"/root/default:StdRegProv")
objReg.EnumKey HKLM, strKey2, arrSubkeys
objTextFile.WriteLine ".::SECTION"
For Each strSubkey In arrSubkeys
intRet2 = objReg.GetStringValue(HKLM, strKey2 & strSubkey, _
strEntry2a, strValue2)
intRet2c = objReg.GetStringValue(HKLM, strKey2 & strSubkey, _
strEntry2c, strValue2c)
If intRet2 <> 0 Then
objReg.GetStringValue HKLM, strKey2 & strSubkey, _
strEntry2b, strValue2
End If
If strValue2 <> "" Then
objTextFile.WriteLine strValue2c & " " & strValue2 & " ¿ " & strcomputer & "¿"
End If
Next
objTextFile.Close
谢谢。