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

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Persisted Objekte durch PowerShell erreichen

Unbeantwortet Dieser Beitrag hat 3 Antworten

Ohne Rang
68 Beiträge
Ladislav erstellt 19 Nov. 2020 17:20
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 20 Nov. 2020 07:35
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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
Ohne Rang
68 Beiträge
Ladislav Als Antwort am 20 Nov. 2020 08:46
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 20 Nov. 2020 10:25
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

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

Viele Grüße
Andi
af @ evocom de
Blog