PSDrive Question

I am working to get a better understanding how, and why the PSDrive functions work. On a side note I am very new to powershell.

I created the following:

$id = Get-Content Env:\USERNAME
$member = Get-ADPrincipalGroupMembership -Identity $id | Select-Object -Property name | Where-Object name -eq SomeADGroup
$BT = “SomeADGroup”
if ($member -match $bt)
New-PSDrive -Name r -PSProvider filesystem -Root \some\nas\location -Persist

And this works with one hang up get-psdrive reports the following:

Name Used (GB) Free (GB) Provider Root

C 64.61 44.87 FileSystem C:
D FileSystem D:\
r 160.24 539.76 FileSystem \some\nas\location
R 160.24 539.76 FileSystem R:\

Why did my new-psdrive create 2 R drives, both case sensitive?

The Second issue is now when I use remove-psdrive The drive will be removed by PS will give me the following error:

Remove-PSDrive : Cannot find drive. A drive with the name ‘r’ does not exist.
At line:1 char:1

  • Remove-PSDrive r
  •   + CategoryInfo          : ObjectNotFound: (r:String) [Remove-PSDrive], DriveNotFoundException
      + FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.RemovePSDriveCommand

I am guessing it removes the first r: drive it finds and if one is removed they both are removed, and thats when Powershell error’s out

I think I figured it out, when I was running this in the ISE it would create a Persist drive, and a non-Persist drive. if I closed and reopend the ISE and ran a get-psdrive I only showed the one R drive and the remove-PSdrive worked with no issue. Feel to offer up any pointers on what I have created thus far!

The ISE sometimes displays some screwy behavior if you have it running for a while (and, usually, have executed a lot of script code). I don’t know why it happens, but restarting the ISE is always a good idea if you can’t explain something.

It’s a feature? :wink: