Hầu hết các biến chuẩn có thể được tìm thấy trong System.Management.Automation.SpecialVariables
. Nếu bạn lọc ra những điều này và một danh sách nhỏ của các biến tiếng khác, bạn có thể tạo một hàm tái sử dụng để có được biến do người dùng định nghĩa:
function Get-UDVariable {
get-variable | where-object {(@(
"FormatEnumerationLimit",
"MaximumAliasCount",
"MaximumDriveCount",
"MaximumErrorCount",
"MaximumFunctionCount",
"MaximumVariableCount",
"PGHome",
"PGSE",
"PGUICulture",
"PGVersionTable",
"PROFILE",
"PSSessionOption"
) -notcontains $_.name) -and `
(([psobject].Assembly.GetType('System.Management.Automation.SpecialVariables').GetFields('NonPublic,Static') | Where-Object FieldType -eq ([string]) | ForEach-Object GetValue $null)) -notcontains $_.name
}
}
$a = 5
$b = 10
get-udvariable
Name Value
---- -----
a 5
b 10
Note: Trong ISE có hai biến chuẩn bổ sung: $ psISE và $ psUnsupportedConsoleApplications
Nguồn
2013-08-25 09:21:28
Tôi nghĩ về cách tiếp cận này, nhưng nó có vẻ lạ lẫm trong giao diện điều khiển như bất cứ điều gì khác. Làm tốt lắm! –