1. 程式人生 > >PowerShell如何清除當前ISE窗口的自定義變量

PowerShell如何清除當前ISE窗口的自定義變量

fff deb sun ria host 更多 基本上 property rom

獲取所有變量

"@({0})" -f
#@()代表一個空的數組
((Get-Variable  | select -ExpandProperty name | foreach {
"‘$_‘"
}) -join ",`n")

清理自定義變量

Function Clear-ISEVariable
{
    $sysVar=@(
    ‘$‘,
    ‘?‘,
    ‘^‘,
    ‘args‘,
    ‘ConfirmPreference‘,
    ‘ConsoleFileName‘,
    ‘DebugPreference‘,
    ‘Error‘,
    ‘ErrorActionPreference‘,
    ‘ErrorView‘,
    ‘ExecutionContext‘,
    ‘false‘,
    ‘FormatEnumerationLimit‘,
    ‘HOME‘,
    ‘Host‘,
    ‘InformationPreference‘,
    ‘input‘,
    ‘LASTEXITCODE‘,
    ‘MaximumAliasCount‘,
    ‘MaximumDriveCount‘,
    ‘MaximumErrorCount‘,
    ‘MaximumFunctionCount‘,
    ‘MaximumHistoryCount‘,
    ‘MaximumVariableCount‘,
    ‘MyInvocation‘,
    ‘NestedPromptLevel‘,
    ‘null‘,
    ‘OutputEncoding‘,
    ‘PID‘,
    ‘profile‘,
    ‘ProgressPreference‘,
    ‘PSBoundParameters‘,
    ‘PSCommandPath‘,
    ‘PSCulture‘,
    ‘PSDefaultParameterValues‘,
    ‘PSEmailServer‘,
    ‘PSHOME‘,
    ‘psISE‘,
    ‘PSScriptRoot‘,
    ‘PSSessionApplicationName‘,
    ‘PSSessionConfigurationName‘,
    ‘PSSessionOption‘,
    ‘PSUICulture‘,
    ‘psUnsupportedConsoleApplications‘,
    ‘PSVersionTable‘,
    ‘PWD‘,
    ‘ShellId‘,
    ‘StackTrace‘,
    ‘true‘,
    ‘VerbosePreference‘,
    ‘WarningPreference‘,
    ‘WhatIfPreference‘)

    Get-Variable -Scope 1 | Where-Object {
        $sysVar -notcontains $_.Name
    }  | Remove-Variable -Scope 1 -Force

}
Clear-ISEVariable

備註

Clear-ISEVariable函數同樣適用於控制臺,因為ISE中的自動化變量基本上是兼容控制臺的。
每一臺機器上的Profile文件可能不盡相同,最安全的方式是先得到自己機器上的自動化變量白名單,更新一下腳本中的集合,然後再運行。

原文

PowerShell刪除ISE編輯器中的自定義變量 - PowerShell 中文博客  http://www.pstips.net/clear-isevariable.html

您也可以關註下方的微信公眾號獲取更多資訊
技術分享圖片

PowerShell如何清除當前ISE窗口的自定義變量