title: Powershell Invoke-Item no longer works to open directories in Explorer
body: <p>I frequently use</p>
  
  <pre><code>ii .
  </code></pre>
  
  <p>in PowerShell to open the current directory in Windows Explorer. This used to work all the time, but now nothing happens.</p>
  
  <p>The <code>Invoke-Item</code> cmdlet still works. Doing <code>ii somefile.txt</code> opens that file in a text editor. But directories don't work anymore.</p>
  
  <p>In addition <code>start .</code> doesn't work. Using <code>explorer .</code> does work.</p>
  
  <p>Running</p>
  
  <pre><code>Trace-Command -Name ParameterBinding {ii .} -PSHost
  </code></pre>
  
  <p>returns</p>
  
  <pre><code>DEBUG: ParameterBinding Information: 0 : BIND NAMED cmd line args [Invoke-Item]
  DEBUG: ParameterBinding Information: 0 : BIND POSITIONAL cmd line args [Invoke-Item]
  DEBUG: ParameterBinding Information: 0 :     BIND arg [.] to parameter [Path]
  DEBUG: ParameterBinding Information: 0 :         Binding collection parameter Path: argument type [String], parameter type [System.String[]],
  collection type Array, element type [System.String], no coerceElementType
  DEBUG: ParameterBinding Information: 0 :         Creating array with element type [System.String] and 1 elements
  DEBUG: ParameterBinding Information: 0 :         Argument type String is not IList, treating this as scalar
  DEBUG: ParameterBinding Information: 0 :         Adding scalar element of type String to array position 0
  DEBUG: ParameterBinding Information: 0 :         BIND arg [System.String[]] to param [Path] SUCCESSFUL
  DEBUG: ParameterBinding Information: 0 : BIND cmd line args to DYNAMIC parameters.
  DEBUG: ParameterBinding Information: 0 : MANDATORY PARAMETER CHECK on cmdlet [Invoke-Item]
  DEBUG: ParameterBinding Information: 0 : CALLING BeginProcessing
  DEBUG: ParameterBinding Information: 0 : CALLING EndProcessing
  </code></pre>
  
  <p>Running</p>
  
  <pre><code>Trace-Command -Name CommandDiscovery {ii .} -PSHost
  </code></pre>
  
  <p>returns</p>
  
  <pre><code>DEBUG: CommandDiscovery Information: 0 : Looking up command: ii
  DEBUG: CommandDiscovery Information: 0 : Alias found: ii  Invoke-Item
  DEBUG: CommandDiscovery Information: 0 : Cmdlet found: Invoke-Item  Microsoft.PowerShell.Commands.InvokeItemCommand,
  Microsoft.PowerShell.Commands.Management, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
  </code></pre>
  
  <p>I guess maybe there's a file association problem or something. But I can't figure out what <code>Invoke-Item</code> is actually calling or how to change it.</p>
  
  <p>How can I get this working again?</p>