Last active
October 22, 2016 12:19
-
-
Save Sarafian/bea1faf7192647cfdc8786a28ca92019 to your computer and use it in GitHub Desktop.
With this script you can compare and get a report for the windows feature names between two different versions of Windows Server.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
param( | |
[Parameter(Mandatory=$true)] | |
[string]$NewWindowsServerVersionComputer, | |
[Parameter(Mandatory=$true)] | |
[string]$OldWindowsServerVersionComputer | |
) | |
# Process new windows server version | |
$featuresOnNew=Get-WindowsFeature -ComputerName $NewWindowsServerVersionComputer | |
$availableOnNew=$featuresOnNew|Where-Object -Property "InstallState" -EQ "Available" | |
$installedNew=$featuresOnNew|Where-Object -Property "InstallState" -EQ "Installed" | |
$featuresNamesOnNew=$featuresOnNew|Select-Object -ExpandProperty Name | |
# Process old windows server version | |
$featuresOnOld=Get-WindowsFeature -ComputerName $OldWindowsServerVersionComputer | |
$availableOnOld=$featuresOnOld|Where-Object -Property "InstallState" -EQ "Available" | |
$installedOld=$featuresOnOld|Where-Object -Property "InstallState" -EQ "Installed" | |
$featuresNamesOnOld=$featuresOnOld|Select-Object -ExpandProperty Name | |
# Compare Old with New | |
$addedSet=$featuresNamesOnNew |Where-Object {$featuresNamesOnOld -notcontains $_} | |
$removedSet=$featuresNamesOnOld |Where-Object {$featuresNamesOnNew -notcontains $_} | |
# Create report objects | |
Write-Host "Added $($addedSet.Count) windows feature names on new Windows Server version" | |
$addedSet | |
Write-Host "Removed $($removedSet.Count) windows feature names on old Windows Server version" | |
$removedSet |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
For example