Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
One script that comes in handy when you have the following type of issue ( rare but it happens ).
Say you have deployed a webpart through a custom solution.
From time to time on your load balanced farm, the page crashes . Investigating , you find out that the solution was not added on one web front end under \Template\Features . You add the solution definition there and all works fine all the time.
Now.. wouldn't it be nice to be able to check quickly the deployed solutions ?
Here's a script for you that attempts to accomplish that.
NOTE : the script comes with NO warranties.run it at your own risk.
$localFeatures = Get-ChildItem "C:\Program Files\common files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\FEATURES" -filter "Feature.xml" -Recurse
$processedFeatures =@()
foreach($featureDef in $localFeatures)
{
$featureAsXML = [xml](Get-Content $featuredef.PSPath)
$featureAsPSObject = New-Object -TypeName "PSObject" -Property @{
Id =$featureAsXML.Feature.Id
FeatureName = $featuredef.Directory.Name
Title = $featureAsXML.Feature.Title
Description=$featureAsXML.Feature.Description
Scope = $featureAsXML.Feature.Scope
Hidden =$featureAsXML.Feature.Hidden
ReceiverAssembly = $featureAsXML.Feature.ReceiverAssembly
ReceiverClass = $featureAsXML.Feature.ReceiverClass
}
$processedFeatures+=$featureAsPSObject
}
$processedFeatures |Out-GridView
$processedFeatures |Export-CliXml C:\Temp\Features.xml
At the end, if you want to reuse this file you can just do :
$processedFeatures=Import-CliXml C:\Temp\Features.xml