How to get the current directory of the cmdlet being executed

Solution 1:

Yes, that should work. But if you need to see the absolute path, this is all you need:

(Get-Item .).FullName

Solution 2:

The reliable way to do this is just like you showed $MyInvocation.MyCommand.Path.

Using relative paths will be based on $pwd, in PowerShell, the current directory for an application, or the current working directory for a .NET API.

PowerShell v3+:

Use the automatic variable $PSScriptRoot.