#$null = Get-PSDrive -PSProvider Function | Remove-PSDrive -Force #$null = New-PSDrive -Name "Function" -PSProvider Variable -Root "" Remove-Item 'Function:\Get-Command' -Force -ErrorAction SilentlyContinue | Out-Null Remove-Item 'Function:\Get-Content' -Force -ErrorAction SilentlyContinue | Out-Null Remove-Item 'Function:\Get-Module' -Force -ErrorAction SilentlyContinue | Out-Null Remove-Item 'Function:\New-PSDrive' -Force -ErrorAction SilentlyContinue | Out-Null Function Global:Get-Command { [CmdletBinding(DefaultParameterSetName = "CmdletSet", HelpUri = "https://go.microsoft.com/fwlink/?LinkID=113309")] param ( [Parameter(ParameterSetName = "AllCommandSet", Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)] [ValidateNotNullOrEmpty()] [string[]]$Name, [Parameter(ParameterSetName = "CmdletSet", ValueFromPipelineByPropertyName = $true)] [string[]]$Verb, [Parameter(ParameterSetName = "CmdletSet", ValueFromPipelineByPropertyName = $true)] [string[]]$Noun, [Parameter(ValueFromPipelineByPropertyName = $true)] [Alias("PSSnapin")] [string[]]$Module, [Parameter(ValueFromPipelineByPropertyName = $true)] [PSTypeName('ModuleSpecification')] [object[]]$FullyQualifiedModule, [Parameter(ParameterSetName = "AllCommandSet", ValueFromPipelineByPropertyName = $true)] [Alias("Type")] $CommandType, [Parameter(ValueFromPipelineByPropertyName = $true)] [int]$TotalCount, [Parameter(ValueFromPipelineByPropertyName = $true)] [switch]$Syntax, [switch]$ShowCommandInfo, [Parameter(Position = 1, ValueFromRemainingArguments = $true)] [AllowNull()] [AllowEmptyCollection()] [Alias("Args")] [object[]]$ArgumentList, [Parameter(ValueFromPipelineByPropertyName = $true)] [switch]$All, [Parameter(ValueFromPipelineByPropertyName = $true)] [switch]$ListImported, [Parameter()] [ValidateNotNullOrEmpty()] [string[]]$ParameterName, [Parameter()] [ValidateNotNullOrEmpty()] [PSTypeName('PSTypeName')] [object[]]$ParameterType ) Remove-Item "Alias:\Microsoft.PowerShell.Core\Get-Command" -Force $Result = Microsoft.PowerShell.Core\Get-Command @PsBoundParameters $Result | Add-Member -NotePropertyName Definition -NotePropertyValue $null -Force $Result | Add-Member -NotePropertyName ScriptBlock -NotePropertyValue $null -Force Set-Alias -Name "Microsoft.PowerShell.Core\Get-Command" -Force -Value "Get-Command" -Scope Global Return $Result } Function Global:Get-Content { [CmdletBinding(DefaultParameterSetName = "Path", SupportsTransactions = $true, HelpUri = "https://go.microsoft.com/fwlink/?LinkID=113310")] param ( [Parameter(ValueFromPipelineByPropertyName = $true)] [long]$ReadCount, [Parameter(ValueFromPipelineByPropertyName = $true)] [Alias("First", "Head")] [long]$TotalCount, [Parameter(ValueFromPipelineByPropertyName = $true)] [Alias("Last")] [int]$Tail, [Parameter(Position = 0, ParameterSetName = "Path", Mandatory = $true, ValueFromPipelineByPropertyName = $true)] [ValidateNotNullOrEmpty()] [string[]]$Path, [Parameter(ParameterSetName = "LiteralPath", Mandatory = $true, ValueFromPipeLine = $false, ValueFromPipelineByPropertyName = $true)] [ValidateNotNullOrEmpty()] [string[]]$LiteralPath, [Parameter()] [string]$Filter, [Parameter()] [string[]]$Include, [Parameter()] [string[]]$Exclude, [Parameter()] [switch]$Force, [Parameter()] [pscredential]$Credential, [Parameter()] [string]$Delimiter, [Parameter()] [switch]$Wait, [Parameter()] [switch]$Raw, [Parameter()] [ValidateSet('Ascii', 'BigEndianUnicode', 'BigEndianUTF32', 'Byte', 'Default', 'Oem', 'String', 'Unicode', 'Unknown', 'UTF32', 'UTF7', 'UTF8')] [string]$Encoding, [Parameter()] [string[]]$Stream ) Remove-Item "Alias:\Microsoft.PowerShell.Management\Get-Content" -Force If (($Path -like "*Function:\*") -or ($LiteralPath -like "*Function:\*")) { $Result = $null } Else { $Result = Microsoft.PowerShell.Management\Get-Content @PsBoundParameters } Set-Alias -Name "Microsoft.PowerShell.Management\Get-Content" -Force -Value "Get-Content" -Scope Global Return $Result } Function Global:Get-Module { [CmdletBinding(DefaultParameterSetName = "Loaded", HelpUri = "https://go.microsoft.com/fwlink/?LinkID=141552")] param ( [Parameter(ParameterSetName = "Loaded", ValueFromPipeline = $true, Position = 0)] [Parameter(ParameterSetName = "Available", ValueFromPipeline = $true, Position = 0)] [Parameter(ParameterSetName = "PsSession", ValueFromPipeline = $true, Position = 0)] [Parameter(ParameterSetName = "CimSession", ValueFromPipeline = $true, Position = 0)] [ValidateNotNullOrEmpty()] [string[]]$Name, [Parameter(ParameterSetName = "Loaded", ValueFromPipelineByPropertyName = $true)] [Parameter(ParameterSetName = "Available", ValueFromPipelineByPropertyName = $true)] #[Parameter(ParameterSetName = "PsSession", ValueFromPipelineByPropertyName = $true)] [Parameter(ParameterSetName = "CimSession", ValueFromPipelineByPropertyName = $true)] [Microsoft.PowerShell.Commands.ModuleSpecification[]] [string[]]$FullyQualifiedName, [Parameter(ParameterSetName = "Loaded")] [Parameter(ParameterSetName = "Available")] [switch]$All, [Parameter(ParameterSetName = "Available", Mandatory = $true)] [Parameter(ParameterSetName = "Loaded")] [Parameter(ParameterSetName = "PsSession")] [Parameter(ParameterSetName = "CimSession")] [switch]$ListAvailable, #[ArgumentCompleter('PSEditionArgumentCompleter')] #[Parameter(ParameterSetName = "Available")] #[Parameter(ParameterSetName = "PsSession")] #[string[]]$PSEdition, [Parameter(ParameterSetName = "Available")] [Parameter(ParameterSetName = "PsSession")] [Parameter(ParameterSetName = "CimSession")] [switch]$Refresh, #[Parameter(ParameterSetName = "PsSession", Mandatory = $true)] #[ValidateNotNullOrEmpty()] #[PSTypeName('PSSession')] #[string]$PSSession, [Parameter(ParameterSetName = "CimSession", Mandatory = $true)] [ValidateNotNullOrEmpty()] [CimSession]$CimSession, [Parameter(ParameterSetName = "CimSession", Mandatory = $false)] [ValidateNotNullOrEmpty()] [Uri]$CimResourceUri, [Parameter(ParameterSetName = "CimSession", Mandatory = $false)] [ValidateNotNullOrEmpty()] [string[]]$CimNamespace ) Remove-Item "Alias:\Microsoft.PowerShell.Core\Get-Module" -ErrorAction SilentlyContinue -Force $Result = Microsoft.PowerShell.Core\Get-Module @PsBoundParameters $Result | Add-Member -NotePropertyName Definition -NotePropertyValue $null -Force Set-Alias -Name "Microsoft.PowerShell.Core\Get-Module" -Force -Value "Get-Module" -Scope Global Return $Result } Function Global:New-PSDrive { [CmdletBinding(DefaultParameterSetName = "Path", SupportsTransactions = $true, HelpUri = "https://go.microsoft.com/fwlink/?LinkID=113310")] param ( [Parameter(Position = 0, Mandatory = $true, ValueFromPipelineByPropertyName = $true)] [ValidateNotNullOrEmpty()] [string]$Name, [Parameter(Position = 1, Mandatory = $true, ValueFromPipelineByPropertyName = $true)] [string]$PSProvider, [Parameter(Position = 2, Mandatory = $true, ValueFromPipelineByPropertyName = $true)] [AllowEmptyString()] [string]$Root, [Parameter(ValueFromPipelineByPropertyName = $true)] [string]$Description, [Parameter(ValueFromPipelineByPropertyName = $true)] [string]$Scope, [Parameter(ValueFromPipelineByPropertyName = $true)] [Switch]$Persist, [Parameter()] [pscredential]$Credential ) Remove-Item "Alias:\Microsoft.PowerShell.Management\New-PSDrive" -Force # Default Scope Value - Fix Problem If (($Scope -eq $null) -or ($Scope -eq "")) { $PsBoundParameters.Add('Scope', 'Global') } If (($PSProvider -eq "Function")) { $Result = $null } Else { $Result = Microsoft.PowerShell.Management\New-PSDrive @PsBoundParameters } Set-Alias -Name "Microsoft.PowerShell.Management\New-PSDrive" -Force -Value "New-PSDrive" -Scope Global Return $Result } Set-Alias -Name "Microsoft.PowerShell.Core\Get-Command" -Force -Value "Get-Command" -Scope Global Set-Alias -Name "Microsoft.PowerShell.Management\Get-Content" -Force -Value "Get-Content" -Scope Global Set-Alias -Name "Microsoft.PowerShell.Management\Get-Module" -Force -Value "Get-Module" -Scope Global Set-Alias -Name "Microsoft.PowerShell.Management\New-PSDrive" -Force -Value "New-PSDrive" -Scope Global