Seite 1 von 1

[Gelöst] Variable in powershellCall

Verfasst: 04 Sep 2019, 09:30
von stroetgen
Hallo zusammen,

das Einbinden einer Variable in einen powershellCall will einfach nicht funktionieren.

Egal, welche Anführungszeichen (einfach, doppelt, gar keine), die Variable wird einfach nicht ausgeführt.

Code: Alles auswählen

set $exitcode$ = powershellCall("Get-WmiObject -Class Win32_UserProfile | where {$_.LocalPath.split('\')[-1] -eq '$Profile$'} | foreach {$_.Delete()}")
In den Logdateien sehe ich immer, dass statt des Variablen-Inhalts der Variablen-Name ausgeführt wird:

Code: Alles auswählen

... where {$_.LocalPath.split('\')[-1] -eq '$Profile$'} ...
Was muss ich anders machen?

Gruß und Dank
Robert

[Gelöst] Re: Variable in powershellCall

Verfasst: 04 Sep 2019, 13:25
von stroetgen
Ah, doch nicht ausführlich genug nachgedacht. Ich muss den String passend zusammenbauen:

Code: Alles auswählen

Set  $exitcode$ = powershellCall("Get-WmiObject -Class Win32_UserProfile | where {$_.LocalPath.split('\')[-1] -eq '"+$Profile$+"'} | foreach {$_.Delete()}")
Dann finde ich korrekt in den Logs:

Code: Alles auswählen

Get-WmiObject -Class Win32_UserProfile | where {$_.LocalPath.split('\')[-1] -eq 'PROFILNAME'} | foreach {$_.Delete()}