SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Persisted Objekte durch PowerShell erreichen

bewertet von 0 Usern
Nicht beantwortet Dieser Beitrag hat 0 Geprüfte Antworten | 3 Antworten | 1 Follower

Top-200-Beitragsschreiber
61 Beiträge
Ladislav erstellt in 19 Nov 2020 17:20

Sehr geehrte Kollegen,

ich kann Persisted Objekte durch PowerShell nicht erreichen. 

Durch ein ähnlichen C# Code kann ich die Persisted Objekte erreichen. 

Der Grund dafür scheint in dem Type Parameter der Methode SPFarm.GetObject zu sein.

Im PowerShell ist folgender Type Parameter verwendet: [SolutionWithPersistedObjects.Folder.PersistedObjectClass]

Im C# ist folgender Type Parameter verwendet: SolutionWithPersistedObjects.Folder.PersistedObjectClass.Settings.GetType()

PowerShell Code:

$persistedObjectName = "Persisted Object Name"

$dllPath = "C:\Windows\Microsoft.NET\assembly\GAC_MSIL\SolutionWithPersistedObjects\v4.0_1.0.0.0__ID...\SolutionWithPersistedObjects.dll"

$assembly = [System.Reflection.Assembly]::LoadFrom($dllPath)

if ($assembly -ne $null)

{

Write-Host "Assembly exists."

 

# Get the farm

$farm = [Microsoft.SharePoint.Administration.SPFarm]::Local

 

if ($farm -ne $null)

{

Write-Host "Farm exists."

 

$persistedObject = $farm.GetObject($persistedObjectName, $farm.Id, [SolutionWithPersistedObjects.Folder.PersistedObjectClass])

 

if ($persistedObject -ne $null)

{

# Do some actions with the $persistedObject

}

else

{

# This if statement still ends here. PowerShell can not find the $persistedObject, even when this persisted object exists.

# Similar code is working in C#. In C# is the Type [SolutionWithPersistedObjects.Folder.PersistedObjectClass] replaced with SolutionWithPersistedObjects.Folder.PersistedObjectClass.Settings.GetType()

}

}

}

 

Können Sie mir bitte helfen?

Ich danke Ihnen.

Ladislav Stupak

Alle Antworten

Top-10-Beitragsschreiber
19.152 Beiträge

Warum verwendest Du in PowerShell nicht denselben Typ wie in C#, also den mit .Settings.GetType()?

Und hast Du mal versucht, das PowerShell als Administrator auszuführen?

Viele Grüße
Andi
af @ evocom de
Blog
Top-200-Beitragsschreiber
61 Beiträge

Hallo Andi,

ich danke dir für deine Antwort.

Mit .Settings.GetType() funktioniert das im PowerShell auch nicht.

Ich habe PowerShell als Administrator geöffnet.

Gruss

Ladislav

 

Top-10-Beitragsschreiber
19.152 Beiträge

Tut mir leid, aber da habe ich auch keine Idee mehr.

Viele Grüße
Andi
af @ evocom de
Blog
Seite 1 von 1 (4 Elemente) | RSS