2017-12-20 8 views
-3

PowerShell에서 다시 쓰려고하는 다음 VBScript 코드가 있습니다.다음 vbscript 코드를 PowerShell로 변경하려고합니다.

CreateObject("WindowsInstaller.Installer")에 문제가 있습니다. 나는 Powershell에서 이것을 할 수 없다. 제품의 Product, ProductCode 및 PatchCode 속성을보고 싶습니다.

아무도 도와 줄 수 있습니까? 아래 VB 코드.

Dim msi : Set msi = CreateObject("WindowsInstaller.Installer") 

Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objFile = objFSO.CreateTextFile("output.txt", True) 

Dim products : Set products = msi.Products 
Dim productCode 
For Each productCode in products 
    Dim patches : Set patches = msi.Patches(productCode) 
    Dim patchCode 

    For Each patchCode in patches 
     Dim location : location = msi.PatchInfo(patchCode, "LocalPackage") 
     objFile.WriteLine location 
    Next 
Next 
+1

이 http://www.scconfigmgr.com/2014/08/22/how-to-get-msi-file 시도 -information-with-powershell/ – Avshalom

+2

의심되는 부분이 있으면 [documentation] (https://technet.microsoft.com/en-us/library/ee176800.aspx)을 읽으십시오. –

+1

_ 다음 vbscript 코드를 PowerShell_로 변경하려고합니다. 좋은 질문이 아닙니다. 제목 – Clijsters

답변

1

사용이 PowerShell에서의 COM 객체 인스턴스화합니다 :

$msi= New-Object -ComObject WindowsInstaller.Installer 
+0

답장을 보내 주셔서 감사합니다. 이것은 내가 바라는 속성을 반환하지 않습니다. Windows Installer XML (WiX) 도구 집합의 PowerShell Cmdlet을 사용하여 이전 버전을 찾을 수있었습니다. Microsoft.Deployment.Compression.Cab.dll Microsoft.Deployment.Compression.dll Microsoft.Deployment.WindowsInstaller. dll을 Microsoft.Deployment.WindowsInstaller.Package.dll Microsoft.Tools.WindowsInstaller.PowerShell.dll http://wixtoolset.org/ https://github.com/wixtoolset/wix3 –