Skip to content

Instantly share code, notes, and snippets.

@Sarafian
Last active October 22, 2016 12:19
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Sarafian/bea1faf7192647cfdc8786a28ca92019 to your computer and use it in GitHub Desktop.
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.
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
@Sarafian
Copy link
Author

For example

& .\Compare-WindowsFeatureName.ps1 -NewWindowsServerVersionComputer "Server2016" -OldWindowsServerVersionComputer "Server2012R2"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment