Are global parameters a thing?


I’m new to the forum so please excuse me if this is a commonly asked question. I carried out some searches but could not find the answers I need.

Is it possible to set certain parameters as global within a module?


	[String]$SearchBase = "OU=Domain Users,DC=myOrg,DC=com",

function createReport {
	if($CreateReport) {
		Write-Host "Creating a report"

function Get-InactiveAccounts{
		[int32]$Days = 30
	Search-ADAccount `
	-SearchBase $SearchBase `
	-AccountInactive -UsersOnly -TimeSpan "$days" | 
		Where-Object {$_.Enabled -eq $True } |
		Sort-Object Name | 
		Select-Object Name,`

What I’m trying to achieve is have a parameter option for all functions in the module called CreateReport, however I am only getting the parameter Days which I’ve created local to the function.

Is this something that is possible within the module? Or should I be looking at another way of doing it?

Any help will be greatly appreciated!

Ahh the joys and pains of variable scopes :slight_smile: Have a look at the links below they should set you on the correct path.

Thanks for those links. Unfortunately I’m still not much the wiser on my issue.

What I’m looking for is a way to define a ‘Global’ parameter at the top of the module so that each function will have a switch of -CreateReport without me needing to include a separate parameter in each function.

I’ve confirmed that the functions can access the ‘module defined’ parameters, but as I mentioned above, they do not show up as being usable parameters for the functions themselves.

No, there’s not. Parameters are always per function.