Powershell Environment Configuration: Difference between revisions
No edit summary |
|||
| Line 1: | Line 1: | ||
[[Category:Powershell]] [[Category:Windows]] | |||
== Overview == | == Overview == | ||
| Line 89: | Line 90: | ||
''TODO: I don't remember offhand where this file is located. Document its location.'' | ''TODO: I don't remember offhand where this file is located. Document its location.'' | ||
Latest revision as of 19:12, 30 November 2015
Overview[edit]
Any issues and solutions that have been encountered configuring the Powershell environment to run scripts.
Creating and modifying environment variables[edit]
- Creating and Modifying Environment Variables (Microsoft TechNet)
Display all environment variables[edit]
> Get-ChildItem Env:
Display information about a particular environment variable[edit]
> $Env:path
Create a variable for the current session only[edit]
> $env:TestVariable = "This is a test environment variable."
User- and machine-level environment variables[edit]
To create a persistent user-level environment variable:
> [Environment]::SetEnvironmentVariable("TestVariable", "Test value.", "User")
- "TestVariable" is the name of the variable.
- "Test Value." is the value assigned to the variable.
- "User" is the level of the variable.
"User"makes this a user-level variable. Alternate values are"Machine"and"Process".
Variables set with SetEnvironmentVariable() don't appear using the Get-ChildItem env: command until the current shell is closed and a new one is opened, although the value of the variable can be retrieved with
> [Environment]::GetEnvironmentVariable("TestVariable","User")
Deleting environment varables[edit]
> Remove-Item Env:\TestVariable
Or
> [Environment]::SetEnvironmentVariable("TestVariable", $null, "User")
Script permissions[edit]
Script permissions on the local filesystem[edit]
By default powershell scripts (.ps1) won't run. Permission for this doesn't allow for the local machine to execute powershell scripts.
[SCRIPT_NAME] : File [FULL_SCRIPT_PATH] cannot be loaded. The file [FULL_SCRIPT_PATH] is not digitally signed.
TODO: Document how to update the environment to allow this. I don't remember the details of how it was done right now.
Allowing scripts to run from UNC paths[edit]


By default powershell scripts can't be run from UNC paths (e.g. \\mylocalserver\path\to\script.ps1):
[SCRIPT_NAME] : File [FULL_SCRIPT_PATH] cannot be loaded. The file [FULL_SCRIPT_PATH] is not digitally signed.
- Control Panel > Network and Internet > Internet Options > Security tab
- Select a zone to view or change security settings: Local Intranet
- Sites button
- Uncheck "Automatically detect intranet network"
- Check "Include all local (intranet) sites not listed in other zones"
- Check "Include all network paths (UNC)"
Aliases[edit]
There is a file that controls the current user's powershell environment. Scripts and script aliases are stored in this file.
TODO: I don't remember offhand where this file is located. Document its location.