Hello Everyone,
I’m trying to create a menu system using PowerShell.
This is achievable as per this URL:
What I need to do next is have the ability to customize the menu so I can call another ps1 file.
For example adding this ps1:
https://gallery.technet.microsoft.com/office/AD-and-mailbox-from-CSV-96a4713f
Do I use dot notation? If so, how do I achieve that?
Or should I use some other method?
Sorry if this is a basic question. I have tried to investigate but have not been able to come up with anything.
Regards, Darren
Assuming the script you wish to run is in the same directory as you main script, you could do something like this in your on click event
Invoke-Expression .\powershellscripttorun.ps1
All you need in in the scripts you point to.
All you need to do is add a call to the script.
There are several ways to do that
From your sample pointers
function Show-Menu
{
param (
[string]$Title = 'My Menu'
)
cls
Write-Host "================ $Title ================"
Write-Host "1: Press '1' for this option."
Write-Host "2: Press '2' for this option."
Write-Host "3: Press '3' for this option."
Write-Host "Q: Press 'Q' to quit."
}
do
{
Show-Menu
$input = Read-Host "Please make a selection"
switch ($input)
{
'1' {
cls
'You chose option #1'
# Run this script
Start-Process -FilePath powershell 'D:\Scripts\HelloWorld.ps1' -Wait
} '2' {
cls
'You chose option #2'
Invoke-Expression -Command 'D:\Scripts\HelloWorld.ps1'
} '3' {
cls
'You chose option #3'
& 'D:\Scripts\HelloWorld.ps1'
} 'q' {
return
}
}
pause
}
until ($input -eq 'q')
Thank you Simon B and postanote. I presumed it was something simple. Live and learn. Much appreciated.
Thank you postanote. I presumed it was something simple. Live and learn. Much appreciated.