简体   繁体   中英

Running IF Statements in a Function in Powershell

I'm a total Powershell newbie and I'm having difficulty with a script I'm trying to come up with.

The script creates a form to map.network drives, and as some of those drives are on a different domain it gives the user the option to enter a username themselves $txtUsername.Text or use the currently logged in user name $LoggedInUser .

When the user clicks the OK button on the form, the function btnOK_Click is called and I want it to essentially to run this statement: If ($txtUsername.Text -eq "") {$User = $LoggedInUser } Else {$User = $txtUsername.Text}

If I run that statement manually, it works as expected - $User is set to the value the user enters, or if they don't enter a value it uses the currently logged in username. But I can't figure out how to make it work within a function. If I try it like this:

function btnOK_Click {If ($txtUsername.Text -eq "") {$User = $LoggedInUser } Else {$User = $txtUsername.Text}}

Nothing happens - $User isn't defined - though there are no errors.

Can anyone point me in the right direction? If it helps I can post the whole code I have, but as it's 250+ lines, I thought it best to just post the part I'm having trouble with.

make your $user variable global & therefore accessible outside of your function

replace $user with $Global:user

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM