Scripts here can be used to gather information on applications for creating rule sets for App Masking & Java Control.
Get-ApplicationRegistryKey.ps1
returns Registry keys from well known locations that contain application information to return application keys for App Masking rules. An example use case for this would be determining specific locations for an application in a suite with shared components (e.g. Visio, Project or Skype for Business as a part of Office 365 ProPlus).
There are two methods for installing the script:
Install from the PowerShell Gallery. This is the preferred method as the installation can be handled directly from Windows PowerShell or PowerShell Core with the following command:
Install-Script -Name Get-ApplicationRegistryKey
Download from the repository. Get-ApplicationRegistryKey.ps1
can be downloaded directly from this repository and saved to a preferred location.
The following example will find keys related to Microsoft Visio
. .\Get-ApplicationRegistryKey.ps1 -SeachString "Visio"
The value for SearchString can be passed to Get-ApplicationRegistryKey.ps1
via the pipeline. To search for Registry keys specific to Visio and Project by passing strings to Get-ApplicationRegistryKey.ps1 via the pilpeline, use:
C:\> "Visio", "Project" | .\Get-ApplicationRegistryKey.ps1
To search for Registry keys specific to Adobe Reader or Acrobat:
C:\> .\Get-ApplicationRegistryKey.ps1 -SearchString "Adobe"
To search for Registry keys specific to Visio and Project:
C:\> .\Get-ApplicationRegistryKey.ps1 -SearchString "Visio", "Project"
To search for Registry keys specific to Skype for Business:
C:\> .\Get-ApplicationRegistryKey.ps1 -SearchString "Skype"
A list of Registry keys can be passed to Get-ApplicationRegistryKey.ps1
on the pipeline from an object with a Key
property. For example, consider an object named $List
that has a set of Registry paths in a property named Key
:
C:\> $List​Title Key----- ---Path HKLM:\SOFTWARE\Classes\CLSIDPath HKLM:\SOFTWARE\Classes
This object can be passed to Get-ApplicationRegistryKey.ps1
on the pipeline as per the following example:
$List | . "\\Mac\Home\projects\FSLogix\Rules\Get-ApplicationRegistryKey.ps1" -Verbose -SearchString "Visio"
In each case, the script will output a list of keys, similar to the list below, that can then be validated and used in an App Masking ruleset:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Icad.ViewerDrawingHKEY_LOCAL_MACHINE\SOFTWARE\Classes\ms-visioHKEY_LOCAL_MACHINE\SOFTWARE\Classes\ShapewareVISIO10HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ShapewareVISIO20HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.ApplicationHKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.Application.11HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.Application.3HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.Application.4HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.Application.5HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.Application.6HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.CustomUI.11HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.DrawingHKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.Drawing.11HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.Drawing.15HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.Drawing.3HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.Drawing.4HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.Drawing.5HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.Drawing.6HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.DrawingMacroEnabledHKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.DrawingMacroEnabled.15HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.ExtendedDataHKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.InvisibleAppHKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.InvisibleApp.11HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.Stencil.11HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.Stencil.15HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.StencilMacroEnabled.15HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.Template.11HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.Template.15HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.TemplateMacroEnabled.15HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.TemplatePackage.16HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.WebDrawing.14HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.Workspace.11HKEY_LOCAL_MACHINE\SOFTWARE\Classes\VisioBridger.LoaderHKEY_LOCAL_MACHINE\SOFTWARE\Classes\VisioSGFS.EngineHKEY_LOCAL_MACHINE\SOFTWARE\Classes\VisioSGProv.ProviderHKEY_LOCAL_MACHINE\SOFTWARE\Classes\VisioViewer.ViewerHKEY_LOCAL_MACHINE\SOFTWARE\Classes\VisioViewer.Viewer.1HKEY_LOCAL_MACHINE\SOFTWARE\Classes\VisioViewerDWGDisplay.VisioViewerDWGDisplayHKEY_LOCAL_MACHINE\SOFTWARE\Classes\VisioViewerDWGDisplay.VisioViewerDWGDisplay.1HKEY_LOCAL_MACHINE\SOFTWARE\Classes\VisioViewerDWGDisplayCreator.VisioViewerDWGDisplayCreatorHKEY_LOCAL_MACHINE\SOFTWARE\Classes\VisioViewerDWGDisplayCreator.VisioViewerDWGDisplayCreator.1HKEY_LOCAL_MACHINE\SOFTWARE\Classes\VisOcx.DrawingControlHKEY_LOCAL_MACHINE\SOFTWARE\Classes\VisOcx.DrawingControl.1