WPF Application - Script within add_click Event doesn't work

This topic contains 1 reply, has 2 voices, and was last updated by Profile photo of Don Jones Don Jones 5 months, 2 weeks ago.

  • Author
    Posts
  • #44103
    Profile photo of Stefan Schneider
    Stefan Schneider
    Participant

    Hi,

    I've created an XML Dialog Window with a button and added the add_click Event to the script:
    `
    $WPFbuttonPreviewGroup.add_Click({

    #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 = ....)

  • #44707
    Profile photo of Don Jones
    Don Jones
    Keymaster

    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.

You must be logged in to reply to this topic.