Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7768021
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 1, 20262026-06-01T15:48:57+00:00 2026-06-01T15:48:57+00:00

I have a PowerShell module called Test.psm1. I want to set a value on

  • 0

I have a PowerShell module called Test.psm1. I want to set a value on a variable and have that accessible when I call another method in that module.

#Test.psm1
$property = 'Default Value'

function Set-Property([string]$Value)
{
     $property = $Value
}

function Get-Property
{
     Write-Host $property
}

Export-ModuleMember -Function Set-Property
Export-ModuleMember -Function Get-Property

From PS command line:

Import-Module Test
Set-Property "New Value"
Get-Property

At this point I want it to return “New Value” but it’s returning “Default Value”. I have tried to find a way to set the scope of that variable but have not had any luck.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-01T15:48:58+00:00Added an answer on June 1, 2026 at 3:48 pm

    Jamey is correct. In your example, in the first line, $property = 'Default Value' denotes a file-scoped variable. In Set-Property function, when you assign, you assign to localy scoped variable that is not visible outside the function. Finally, in Get-Property, since there is no locally scoped variable with the same name the parent scope variable is read. If you change your module to

    #Test.psm1
    $property = 'Default Value'
    
    function Set-Property([string]$Value)
    {
             $script:property = $Value
    }
    
    function Get-Property
    {
             Write-Host $property
    }
    
    Export-ModuleMember -Function Set-Property
    Export-ModuleMember -Function Get-Property
    

    As per Jamey’s example, it will work. Note though that you don’t have to use the scope qualifier in the very first line, as you are in the script scope by default. Also you don’t have to use the scope qualifier in Get-Property, since the parent scope variable will be returned by default.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have created a powershell module (.psm1) file that includes a few other powershell
I have a Powershell script that copies files from one location to another. Once
I have a Powershell script that uses this PowerShell module . It basically allows
I have several Powershell scripts that I want to execute on 4 remote machines.
I have PowerShell v2.0 installed and on top of that, PSCX is installed. PSCX
I have a simple PowerShell script that uses WMI to create a web site
I have a complex Powershell script that gets run as part of a SQL
I have developed a Powershell script that needs to be run automatically daily. This
I have an assembly that contains cmdlets. Can Powershell enumerate the cmdlets available in
I have 2 powershell scripts that I execute from c# which I'm using to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.