Remove-PSDrive

Deletes temporary PowerShell drives and disconnects mapped network drives.

Syntax

Remove-PSDrive
      [-Name] <String[]>
      [-PSProvider <String[]>]
      [-Scope <String>]
      [-Force]
      [-WhatIf]
      [-Confirm]
      [-UseTransaction]
      [<CommonParameters>]
Remove-PSDrive
      [-LiteralName] <String[]>
      [-PSProvider <String[]>]
      [-Scope <String>]
      [-Force]
      [-WhatIf]
      [-Confirm]
      [-UseTransaction]
      [<CommonParameters>]

Description

The Remove-PSDrive cmdlet deletes temporary PowerShell drives that were created by using the New-PSDrive cmdlet.

Beginning in Windows PowerShell 3.0, Remove-PSDrive also disconnects mapped network drives, including, but not limited to, drives created by using the Persist parameter of New-PSDrive.

Remove-PSDrive cannot delete Windows physical or logical drives.

Beginning in Windows PowerShell 3.0, when an external drive is connected to the computer, PowerShell automatically adds a PSDrive to the file system that represents the new drive. You do not need to restart PowerShell. Similarly, when an external drive is disconnected from the computer, PowerShell automatically deletes the PSDrive that represents the removed drive.

Examples

Example 1: Remove a file system drive

This command removes a temporary file system drive named "smp".

Remove-PSDrive -Name smp

Example 2: Remove mapped network drives

This command uses Remove-PSDrive to disconnect the X: and S: mapped network drives.

Get-PSDrive X, S | Remove-PSDrive

Parameters

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False
-Force

Removes the current PowerShell drive.

Type:SwitchParameter
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False
-LiteralName

Specifies the name of the drive.

The value of LiteralName is used exactly as typed. No characters are interpreted as wildcards. If the name includes escape characters, enclose it in single quotation marks ('). Single quotation marks instruct PowerShell not to interpret any characters as escape sequences.

Type:String[]
Position:1
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-Name

Specifies the names of the drives to remove. Do not type a colon (:) after the drive name.

Type:String[]
Position:1
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:True
-PSProvider

Specifies an array of PSProvider objects. This cmdlet removes and disconnects all of the drives associated with the specified PowerShell provider.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-Scope

Specifies a scope for the drive. The acceptable values for this parameter are: Global, Local, and Script, or a number relative to the current scope. Scopes number 0 through the number of scopes. The current scope number is 0 and its parent is 1. For more information, see about_Scopes.

Type:String
Position:Named
Default value:Local
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-UseTransaction

Includes the command in the active transaction. This parameter is valid only when a transaction is in progress. For more information, see about_Transactions.

Type:SwitchParameter
Aliases:usetx
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False
-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

System.Management.Automation.PSDriveInfo

You can pipe a drive object, such as one from the Get-PSDrive cmdlet, to the Remove-PSDrive cmdlet.

Outputs

None

This cmdlet does not return any output.

Notes

  • The Remove-PSDrive cmdlet is designed to work with the data exposed by any PowerShell provider. To list the providers in your session, use the Get-PSProvider cmdlet. For more information, see about_Providers.