Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

Auf welchen sites und subsites sind meine Solutions aktiv?

$
0
0

Hallo liebe Community,

folgendes Szenario:
In unserem Intranet wollen wir alle 3rd Party Lösungen entfernen.
Dazu müssen auf den einzelnen Sites und Subsites die entsprechenden
Features zunächst deaktiviert werden.

In der Central Administration unter
System Settings | Farm Management | Manage farm solutions
bekomme ich eine Liste der Solutions (*.wsp) angezeigt.

Damit ich nun nicht von Hand jede einzelne Site und Subsite händisch
auf aktivierte Features prüfen muss
(Site Actions | Site Settings | Manage Site Features),
dachte ich an ein PowerShell Skript, dass mir auflistet auf welchen
Sites und Subsites in der Farm die jeweilige Lösung aktiviert ist.

Dann könnte ich die Site gezielt ansteuern und das Feature deaktivieren.
Das Deaktivieren möchte ich ungern vom Skript machen lassen.

Natürlich war ich auch schon tätig und habe ein PowerShell Skript gebaut:

cls

Remove-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue
Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue

# --------------------------------------------------------------------------------
# Find all deployed farm solutions
# --------------------------------------------------------------------------------
$farm = [Microsoft.SharePoint.Administration.SPFarm]::Local
$arr = @() # array, to store the solutions
foreach ($solution in $farm.Solutions)
{
	if ($solution.Deployed)
	{
		# move into an array
		$arr += $solution.DisplayName
    }
}

# --------------------------------------------------------------------------------
# List all deployed farm solutions by reading the array
# --------------------------------------------------------------------------------
foreach ($out in $arr)
{
	$solutions = $farm.get_Solutions() | Where-Object { $_.DisplayName -eq $out; }
	$solutions
}

Dieses Skript listet mir die aktivierten Solutions auf und gibt
zusätzlich auch die entsprechende SolutionId mit aus.

Ausgabe:

Name                SolutionId                           Deployed
-------               ------------                          -------
Solution.wsp     c9287179-....-....-....-............   True

Jetzt weiss ich natürlich immer noch nicht, auf welchen Sites und Subsites
die Solutions aktiviert sind.

Wie gehe ich nun vor?

Kann ich die Farm nach der SolutionId durchsuchen und die dazugehörigen
Sites auflisten lassen?
Wenn ja, wie?

Oder ist das Skript für die Tonne und geht das einfacher?

Danke und Gruß
DD


Viewing all articles
Browse latest Browse all 2314


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>