功能完成后切换到其他功能

时间:2018-07-24 12:41:42

标签: powershell-v4.0

我有一个用于创建和管理Active Directory用户的脚本。

函数运行后,我需要它切换回RBFTMenu函数。

有没有办法做到这一点?

编辑

菜单

function RBFTMenu {
    cls
    Write-Host 'User Creation

1. Create a Single User
2. Create Multiple Users

_________________________________________________

Active Directory ~ User Management

3. Password Reset
4. Disable/Enable A User Account

_________________________________________________

Exchange ~ User Management

5. Give Full Mailbox Access

q. Quit

'

    while (($RBFTSelection = Read-Host -Prompt 'Please Select An Option & Press Enter') -notin 1,2,3,4,5 ,'q') {
        Write-Warning "$RBFTSelection is not a valid option"
    }

    switch ($RBFTSelection) {
        1 { New-UserManualRBFT }
        2 { New-UserFromCSVRBFT }
        3 { PasswordResetRBFT }
        4 { DisableEnableUserRBFT }
        5 { FullAccessRBFT }
    }
}

示例功能终止

Write-Host " "
Write-Host " "
echo "Press Any Key To Close"
$HOST.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") | Out-Null
$HOST.UI.RawUI.Flushinputbuffer() 
}

1 个答案:

答案 0 :(得分:0)

假设该函数返回一些信息,您可以通过该信息决定要采取的操作,可以在如下循环中调用它:

while ($true) {
    $action = RBFTMenu
    switch ($action) {
        ...
    }
}

修改

由于您处理了菜单函数中的操作,因此只需要循环调用函数即可:

while ($true) {
    RBFTMenu
}

不过,您应该在exit语句中添加一个switch分支,

switch ($RBFTSelection) {
    1 { New-UserManualRBFT }
    ...
    'q' { exit }
}