2014-02-12 3 views
2

서버에 MS Office 문서를 열고 PDF로 변환하는 명령 줄 유틸리티가 있습니다. 매크로가있는 Office 문서의 경우 누군가가 매크로를 사용할 때까지 보안 경고 메시지가 나타나고 유틸리티가 작업을 완료하지 않습니다.Windows에서 열려있는 모든 응용 프로그램의 이름을 가져 오는 일괄 처리 또는 PowerShell 명령

예를 들어 Visio 파일의 경고 메시지 대화 상자에는 "Microsoft Visio Security Notice"라는 제목이 있습니다. 활성화 버튼을 클릭해야합니다.

이 제목은 Windows 작업 관리자의 응용 프로그램 창에는 표시되지만 프로세스 목록에는 표시되지 않습니다.

이 문제가 발생하면 알려주는 유틸리티를 작성하고 싶습니다.

배치 또는 PowerShell 명령을 사용하여 이름을 기준으로 작업 목록을 읽거나 검색 할 수 있습니다 (예 : Windows 작업 관리자의 응용 프로그램 창에 표시된대로 모든 응용 프로그램 이름 가져 오기).

나는 tasklist와 get-process를 시도했다. 프로세스에 관한 정보는 제공하지만 응용 프로그램 창 제목에 대한 정보는 제공하지 않습니다.

응용 프로그램 창 이름 목록을 가져 오는 방법을 공유하거나 스크립트를 통해 보안 경고가 열려 있는지 확인하는 방법을 공유 할 수 있습니다.

+0

최신 버전의 Office에서는이 경고가 대화 상자에 표시되지 않습니다. 앱의 기본 창 상단에있는 정보 표시 줄 (활성화 버튼 포함)에 표시됩니다. –

답변

4

다음은 개념 증명입니다. 필요한 경우 전자 메일 기능 또는 트리거를 구현할 수 있습니다. 하지만 실제로, 창 제목을 알고 있다면 조작하기가 상당히 쉽습니다.

$vischk = get-process | where-object {$_.mainwindowhandle -ne 0 -and $_.MainWindowTitle -eq "Microsoft Visio Security Notice"} | select-object name, mainwindowtitle 

    if (!($vischk)) 
    { 
    Write-Warning "Security notice not present" 
    } else { 
    Write-Warning "This is where you'd do your scripting" 
    } 
+0

이것은 유틸리티의 이름이나 프로세스가 윈도우 이름이 아님을 나타냅니다. 예를 들어 IE에서 google.com을 열고 작업 관리자 응용 프로그램 패널로 이동하면 작업 이름으로 google이 표시됩니다. 프로세스가 표시되면 iexplorer.exe 만 표시됩니다. 나는 응용 프로그램 패널에서 구글을 검색하려고 노력하고 있습니다. – user3299450

0

당신이 윈도우 작업 관리자 (Win8에 잘 적어도 하나)에보고 된 정보는 가능성 중 하나에서 가져온 된 된 FileVersionInfo의 제품 또는 설명 필드는 예 :

Get-Process | % {$_.MainModule} | ft Product,Description 

당신이 찾고있는 BTW 경우 프로세스의 MainWindowTitle 대화 상자 창 제목은 도움이되지 않습니다. WASP 모듈을 사용할 수있는 창을 찾을 수 있어야합니다. 최신 버전의 Office 인 경우 기본 응용 프로그램은 더 이상 매크로 사용에 대한 보안 경고 대화 상자를 사용하지 않습니다.

+0

WASP에 대한 힌트를 주셔서 감사합니다. – user3299450