Microsoft Office 버전 이름을 검색하는 방법


1

프로그래밍 방식으로는 무엇을 얻을 수있는 방법입니까? 설치된 Microsoft Office 버전의 이름 ? 모든 Powershell 명령, VBScript 및 WMI 쿼리를 찾을 수있었습니다. 레지스트리와 파일 시스템을 살펴 보았습니다. 설치된 Office 버전을 수집하는 완벽한 방법을 찾을 수 없습니다.

가장 근접한 방법은 WMIC 쿼리를 사용하는 것입니다.

wmic product where "Name like '%Office%'" get name,version

불행하게도, 이것은 다양한 응용 프로그램 배열을 반환하며 "Office 16"이 "Pro", "Professional Plus"또는 "Office365"인 경우 필터를 더 자세히 필터링해도 알 수 없습니다.

그렇지 않으면에서 레지스트리 값

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Scenario\INSTALL\ProductstoAdd

적어도 버전 2016에서는 존재하지만 이전 버전에서는 존재하지 않습니다. 그리고 그 자체는 친숙한 이름을 포함하지 않으므로 더 많은 스크립팅이 ProPlusRetail.16_en-us_x-none "Office 2016 Professional Plus"또는 O365BusinessRetail.16_en-us_x-none "Office 365 비즈니스 (2016)"로

거대한 스크립트에서 if / elseif / elseif 구문을 사용하는 것보다 쉬운 방법론이 있기를 바랍니다.


뭔가 시도해 보라. 이 대답
DrZoo

이 방법론은 Office 버전의 "연도"만 반환합니다. 앞서 언급했듯이 "Office 2016 Professional Plus"또는 "Office 365 Business (2016)"와 같은 제품을 더 결정해야합니다.
Beems

superuser.com/questions/1097079/... 이 스크립트는 꽤 견고한 것 같지만 어떤 라이센스 버전이 설치되어 있는지 알려주지 않습니다 ...
Kage

나는 그걸 보았다. 불행히도 "Office 2016 Professional Plus"와 "Office 365 Business (2016)"의 차이점은 확인하지 않습니다. 이 질문이 내려 졌기 때문에 필자는 Powershell에 완전히 새로운 검색 스크립트를 작성해야했습니다.이 스크립트는 수십 가지의 다양한 메커니즘을 사용하여 특정 버전을 구할 수 있습니다.
Beems

답변:


2

레지스트리에 설치된 Microsoft Office의 이름을 찾을 수 있습니다. 프로세스는 다음 단계에 따라 자동화 될 수 있습니다.

레지스트리 키 확인
32 비트 버전 :
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
64 비트 버전 :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

키가 Office의 제품 코드 GUID에 대한 번호 매기기 구성표의 설명에 따라 제품 ID 패턴 중 하나와 일치하는 경우 2016 년 , 2013 년 , 2010 년 , 2007 년 , 2003 년 , XP , 2000 년 , 읽은 다음 DisplayName 키 값은 실제로 설치된 Office의 이름입니다.

또한 찾았습니다. 강력한 Office 인벤토리 검색 도구 (ROISCAN) , 설치된 Microsoft Office 버전을 완전히 검색합니다.


1
감사! 나는 Office GUID가 무작위 화되지 않았다는 것을 깨닫지 못했습니다. 그것은 확실히 탐지에 도움이 될 것입니다.
Beems
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.