Author Posts

June 21, 2016 at 8:06 am


I've created an XML Dialog Window with a button and added the add_click Event to the script:

#Write-Host "Previewing group"
$param1 = "`$_." + $WPFComboField1.SelectedValue + " " + $WPFComboBool1.SelectedValue + " " + '"' + $WPFtextValue1.Text + '"'
$MsolUserList = Import-Csv "allMsolUser.csv" -Delimiter ";"
$MsolUserList | ft
$commandstring = '$msolUserList | ?{' + $param1 + '}'
$x = Invoke-Expression $commandstring -Verbose

When I run the script above manually from ISE, it work fine.
But when I call the dialog box and pressing the button to fire the event, the script doesn't import the csv file.
All other command within this script work fine (e.g. $param1 = ....)

June 24, 2016 at 4:38 pm

So, I'll assume you're already aware of the serious negative security implications of Invoke-Expression, and no go into that ;).

Have you tried using a fully-qualified file path for the CSV? As-is, you're loading it from "the current directory," which may not be what you think it is, when this runs as a WPF. Obviously, since the ISE sets the current directory, it's working there.