Skip to content

Instantly share code, notes, and snippets.

@AdilHindistan
Created November 16, 2015 01:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AdilHindistan/179ce7713a9c37aa297e to your computer and use it in GitHub Desktop.
Save AdilHindistan/179ce7713a9c37aa297e to your computer and use it in GitHub Desktop.
Function Get-WinSxSTemplate {
$template = '@
{Processor*:amd64}_{Name:bthpan.inf.resources}_{PublicKey:31bf3856ad364e35}_{Version:10.0.10586.0}_{Language:en-us}_{Hash:ea44fe42ab20740b}
{Processor*:msil}_{Name:system.identitymodel}_{PublicKey:b77a5c561934e089}_{Version:10.0.10586.0}_{Language:none}_{Hash:cc783afbf0482328}
{Processor*:amd64}_{Name:addinprocess32}_{PublicKey:b77a5c561934e089}_{Version:4.0.10586.0}_{Language:none}_{Hash:674039174f59a7e0}
{Processor*:amd64}_{Name:1394.inf}_{PublicKey:31bf3856ad364e35}_{Version:10.0.10586.0}_{Language:none}_{Hash:87b4eef7b03f2543}
@'
$template2 = '@
{Processor*:amd64}_{Name:c_cdrom.inf.resources}_{PublicKey:31bf3856ad364e35}_{Version:10.0.10586.0}_{Language:en-us}_{Hash:0c3fdd23f3e210c1}
{Processor*:msil}_{Name:system.identitymodel}_{PublicKey:b77a5c561934e089}_{Version:10.0.10586.0}_{Language:none}_{Hash:cc783afbf0482328}
{Processor*:amd64}_{Name:aspnet_compiler}_{PublicKey:b03f5f7f11d50a3a}_{Version:10.0.10586.0}_{Language:none}_{Hash:8037b2faf04e42be}
{Processor*:amd64}_{Name:addinprocess32}_{PublicKey:b77a5c561934e089}_{Version:4.0.10586.0}_{Language:none}_{Hash:674039174f59a7e0}
@'
# {Processor*:amd64}_{Name:c_cdrom.inf.resources}_{PublicKey:31bf3856ad364e35}_{Version:10.0.10586.0}_{Language:en-us}_{Hash:0c3fdd23f3e210c1}
$names = (gci C:\windows\WinSxS -directory).name
$names |convertfrom-string -TemplateContent $template2
}
Function Get-WinSxSRegex {
$names = (gci C:\windows\WinSxS -directory).name
$regex = '^(.*?)_(.*)_([0-9a-fA-F]+)_(\d+.\d+.\d+.\d+)_(.*?)_([0-9a-fA-F]+)$'
Foreach ($name in $names) {
if ($name -match $regex) {
[PSCustomObject]@{
Processor = $Matches[1]
Name = $Matches[2]
PublicKeyToken = $Matches[3]
Version = $Matches[4]
Language = $Matches[5]
Hash = $Matches[6]
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment