21 - 01 - 2019
Przełącznik języka
Tools
This Site
Security
CMS
Hardware
Backup
Uncategorised
useful sites
Databases
Emulators
Powershell
Storage Array
Active Directory
SEO
DNS
Guides
Antivirus program
Linux
Foto
Licznik
1.png4.png4.png0.png8.png2.png1.png
Today18
Yesterday316
This week579
This month11020
Total1440821

Visitor Info

  • IP: 54.172.221.7
  • Browser: Unknown
  • Browser Version:
  • Operating System: Unknown

Who Is Online

4
Online

Monday, 21 January 2019 01:21
Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive
 

Error

The term 'test.ps1' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

When running a script like ./Test.ps1 the script is expected to be in the current working directory (.).

Depending on the environment from which you're executing that statement the working directory may not be what you expect, though.

Here are some commands that allow you to determine the current working directory when run the same way as your script:

$PWD.Path
(Get-Location).Path
(Resolve-Path '.').Path

There are basically 3 ways to deal with the issue:

  • Specify the path to your PowerShell script relative to the current working directory.
  • Change the current working directory to the location of the PowerShell script:

    Push-Location 'C:\temp\folder'
    .\Test.ps1
    Pop-Location
  • Run the PowerShell script with its full path:

    & 'C:\temp\folder\Test.ps1'

    If the executable's filename, path, or pathname doesn't contain spaces, using the call (&) operator is optional. Otherwise, the call operator is required.