wolf6660
Goto Top

Powershell - Fehler TrimStart

Hi,

ich bin gerade dabei ein Skript zu schreiben um neue User zu Berechtigen und einen Standortwechsel einfacher zu bewerkstelligen. Hierzu habe ich in der Vergangenheit ein paar Skripte angelegt. Diese wollte ich nun etwas modifizieren.

So sieht die Variable $logonauslesen aus

@{ScriptPath=xxx 10.9.22.33 daten\username daten}

Hier würde ich gerne am Anfang @{ScriptPath= und am ende } entferen

Hierzu habe ich den TrimStart und TrimEnd Befehl genommen:

    $logonauslesen = Get-ADUser -Identity "$Benutzer" -Properties Scriptpath | Select ScriptPath   
    $logonauslesen.TrimStart("@{ScriptPath=")  
    $logonauslesen.TrimEnd("}")  

Bekomme dann die Fehlermeldung

Fehler beim Aufrufen der Methode, da [Selected.Microsoft.ActiveDirectory.Management.ADUser] keine Methode mit dem Namen 
"TrimStart" enthält.  
In H:\Tools\testskript.ps1:154 Zeichen:5
+     $logonauslesen.TrimStart("@{ScriptPath=")  
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (TrimStart:String) , RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Fehler beim Aufrufen der Methode, da [Selected.Microsoft.ActiveDirectory.Management.ADUser] keine Methode mit dem Namen 
"TrimEnd" enthält.  
In H:\Tools\testskript.ps1:155 Zeichen:5
+     $logonauslesen.TrimEnd("}")  
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (TrimEnd:String) , RuntimeException
    + FullyQualifiedErrorId : MethodNotFound

Kann mir jemand einen Tipp geben warum dies so ist bzw. wie ich dieses Problem lösen kann?

Content-ID: 4531580487

Url: https://administrator.de/contentid/4531580487

Ausgedruckt am: 17.11.2024 um 11:11 Uhr

4400667902
Lösung 4400667902 07.11.2022 aktualisiert um 08:20:43 Uhr
Goto Top
Das @{} bedeutet daß es ein Hashtable bzw. Object mit Properties ist und daraus kannst du den Inhalt von der Property "Scriptpath" direkt ansprechen und zwar so
$logonauslesen.Scriptpath
Oder direkt schon bei der Abfrage expandieren
$logonauslesen = Get-ADUser -Identity $Benutzer -Properties Scriptpath | Select -ExpandProperty ScriptPath
$logonauslesen
Wolf6660
Wolf6660 07.11.2022 um 08:59:22 Uhr
Goto Top
Guten Morgen,

super Danke das ging ja schnell. Habe es gleich getestet und genau das wollte ich haben.

PERFEKT - DANKE