一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - PowerShell - Windows Powershell 自動化變量

Windows Powershell 自動化變量

2020-06-19 10:46腳本之家 PowerShell

自動化變量是指打開PowerShell之后就會自動加載的變量,本文主要詳細(xì)講解了自動化變量,是篇很少見的變量的基礎(chǔ)知識的文章,希望對大家有所幫助

Powershell 自動化變量 是那些一旦打開Powershell就會自動加載的變量。

這些變量一般存放的內(nèi)容包括

用戶信息:例如用戶的根目錄$home
配置信息:例如powershell控制臺的大小,顏色,背景等。
運(yùn)行時(shí)信息:例如一個(gè)函數(shù)由誰調(diào)用,一個(gè)腳本運(yùn)行的目錄等。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
PS> $HOME
C:\Users\test
PS> $currentProcessID=$pid
PS> $currentProcessID
5356
PS> Get-Process -Id $pid
 
Handles NPM(K)  PM(K)   WS(K) VM(M)  CPU(s)   Id ProcessName
------- ------  -----   ----- -----  ------   -- -----------
  390   10  30604   33100  172   1.11  5356 powershell
 
PS> $PROFILE
C:\Users\test\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

powershell中的某些自動化變量只能讀,不能寫。例如:$Pid。
可以通過Get-Help about_Automatic_variables查看Automatic_variables的幫助。
TOPIC
about_Automatic_Variables

主題
about_Automatic_Variables

簡短說明
說明存儲 Windows PowerShell 狀態(tài)信息的變量。
這些變量由 Windows PowerShell 創(chuàng)建并維護(hù)。

詳細(xì)說明
下面是 Windows PowerShell 中的自動變量的列表:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
$$
包含會話所收到的最后一行中的最后一個(gè)令牌。
 
$?
包含最后一個(gè)操作的執(zhí)行狀態(tài)。如果最后一個(gè)操作成功,則包含 TRUE,失敗則包含 FALSE。
 
$^
包含會話所收到的最后一行中的第一個(gè)令牌。
 
$_
包含管道對象中的當(dāng)前對象。在對管道中的每個(gè)對象或所選對象執(zhí)行操作的命令中,可以使用此變量。
 
$Args
包含由未聲明參數(shù)和/或傳遞給函數(shù)、腳本或腳本塊的參數(shù)值組成的數(shù)組。
在創(chuàng)建函數(shù)時(shí)可以聲明參數(shù),方法是使用 param 關(guān)鍵字或在函數(shù)名稱后添加以圓括號括起、逗號
分隔的參數(shù)列表。
 
$ConsoleFileName
包含在會話中最近使用的控制臺文件 (.psc1) 的路徑。在通過 PSConsoleFile 參數(shù)啟動
Windows PowerShell 或使用 Export-Console cmdlet 將管理單元名稱導(dǎo)出到控制臺文件
時(shí),將填充此變量。
 
在使用不帶參數(shù)的 Export-Console cmdlet 時(shí),它自動更新在會話中最近使用的控制臺文件。
可以使用此自動變量確定要更新的文件。
 
$Error
包含錯(cuò)誤對象的數(shù)組,這些對象表示最近的一些錯(cuò)誤。最近的錯(cuò)誤是該數(shù)組中的第一個(gè)錯(cuò)誤對象
($Error[0])。
 
$Event
包含一個(gè) PSEventArgs 對象,該對象表示一個(gè)正在被處理的事件。
此變量只在事件注冊命令(例如 Register-ObjectEvent)的 Action 塊內(nèi)填充。
此變量的值是 Get-Event cmdlet 返回的同一個(gè)對象。
因此,可以在 Action 腳本塊中使用 $Event 變量的屬性(例如
$Event.TimeGenerated)。
 
$EventSubscriber
包含一個(gè) PSEventSubscriber 對象,該對象表示正在被處理的事件的事件訂閱者。
此變量只在事件注冊命令的 Action 塊內(nèi)填充。此變量的值
是 Get-EventSubscriber cmdlet 返回的同一個(gè)對象。
 
$ExecutionContext
包含一個(gè) EngineIntrinsics 對象,該對象表示 Windows PowerShell 主機(jī)的執(zhí)行上下文。
可以使用此變量來查找可用于 cmdlet 的執(zhí)行對象。
 
$False
包含 FALSE??梢允褂么俗兞吭诿詈湍_本中表示 FALSE,而不是使用字符串”false”。如果
該字符串轉(zhuǎn)換為非空字符串或非零整數(shù),則可將該字符串解釋為 TRUE。
 
$ForEach
包含 ForEach-Object 循環(huán)的枚舉數(shù)??梢詫?$ForEach 變量的值使用枚舉數(shù)的屬性和方法。
此變量僅在運(yùn)行 For 循環(huán)時(shí)存在,循環(huán)完成即會刪除。
 
$Home
包含用戶的主目錄的完整路徑。此變量等效于 %homedrive%%homepath% 環(huán)境變量。
 
$Host
包含一個(gè)對象,該對象表示 Windows PowerShell 的當(dāng)前主機(jī)應(yīng)用程序??梢允褂么俗兞吭诿?/code>
令中表示當(dāng)前主機(jī),或者顯示或更改主機(jī)的屬性,如 $Host.version、$Host.CurrentCulture
或 $host.ui.rawui.setbackgroundcolor(“Red”)。
 
$Input
一個(gè)枚舉數(shù),它包含傳遞給函數(shù)的輸入。$Input 變量區(qū)分大小寫,只能用于函數(shù)和腳本塊。(腳
本塊本質(zhì)上是未命名的函數(shù)。)在函數(shù)的 Process 塊中,$Input 變量包含當(dāng)前位于管道中的對
象。在 Process 塊完成后,$Input 的值為 NULL。如果函數(shù)沒有 Process 塊,則 $Input
的值可用于 End 塊,它包含函數(shù)的所有輸入。
 
$LastExitCode
包含運(yùn)行的最后一個(gè)基于 Windows 的程序的退出代碼。
 
$Matches
$Matches 變量與 -match 和 -not match 運(yùn)算符一起使用。
將標(biāo)量輸入提交給 -match 或 -notmatch 運(yùn)算符時(shí),如果檢測到匹配,則會返回一個(gè)布爾值,
并使用由所有匹配字符串值組成的哈希表填充 $Matches 自動變量。有關(guān) -match 運(yùn)算符的詳細(xì)
信息,請參閱 about_comparison_operators。
 
$MyInvocation
包含一個(gè)對象,該對象具有有關(guān)當(dāng)前命令(如腳本、函數(shù)或腳本塊)的信息。可以使用該對象中的
信息(如腳本的路徑和文件名 ($myinvocation.mycommand.path) 或函數(shù)的名稱
($myinvocation.mycommand.name))來標(biāo)識當(dāng)前命令。對于查找正在運(yùn)行的腳本的名稱,這非常有用。
 
$NestedPromptLevel
包含當(dāng)前提示級別。值 0 指示原始提示級別。該值在進(jìn)入嵌套級別時(shí)遞增,在退出嵌套級別時(shí)遞減。
 
例如,在使用 $Host.EnterNestedPrompt 方法時(shí),Windows PowerShell 會出現(xiàn)嵌套命令
提示符。在 Windows PowerShell 調(diào)試程序中到達(dá)斷點(diǎn)時(shí),Windows PowerShell 也會出現(xiàn)嵌
套命令提示符。
 
在進(jìn)入嵌套提示時(shí),Windows PowerShell 暫停當(dāng)前命令,保存執(zhí)行上下文,并遞增
$NestedPromptLevel 變量的值。要?jiǎng)?chuàng)建更多嵌套命令提示符(最多 128 級)或返回到原始命
令提示符,請完成命令,或鍵入”exit”。
 
$NestedPromptLevel 變量有助于跟蹤提示級別。可以創(chuàng)建包含此值的備用 Windows
PowerShell 命令提示符,以使此值始終可見。
 
$NULL
包含 NULL 或空值??梢栽诿詈湍_本中使用此變量表示 NULL,而不是使用字符串”NULL”。
如果該字符串轉(zhuǎn)換為非空字符串或非零整數(shù),則可將該字符串解釋為 TRUE。
 
$PID
包含承載當(dāng)前 Windows PowerShell 會話的進(jìn)程的進(jìn)程標(biāo)識符 (PID)。
 
$Profile
包含當(dāng)前用戶和當(dāng)前主機(jī)應(yīng)用程序的 Windows PowerShell 配置文件的完整路徑??梢栽诿?/code>
中使用此變量表示配置文件。例如,可以在命令中使用此變量確定是否已創(chuàng)建某個(gè)配置文件:
 
test-path $profile
 
也可以在命令中使用此變量創(chuàng)建配置文件:
 
new-item -type file -path $pshome -force
 
此外,還可以在命令中使用此變量在記事本中打開配置文件:
 
notepad $profile
 
$PSBoundParameters
包含活動參數(shù)及其當(dāng)前值的字典。只有在聲明參數(shù)的作用域(如腳本或函數(shù))中,
此變量才有值。可以使用此變量顯示或更改參數(shù)的當(dāng)前值,也可以將參數(shù)值傳遞給
其他腳本或函數(shù)。
 
例如:
 
function test {
param($a, $b)
 
# Display the parameters in dictionary format.
$psboundparameters
 
# Call the Test1 function with $a and $b.
test1 @psboundparameters
}
 
$PsCmdlet
包含一個(gè)對象,該對象表示正在運(yùn)行的 cmdlet 或高級函數(shù)。
 
可以在 cmdlet 或函數(shù)代碼中使用該對象的屬性和方法來響應(yīng)使用的條件。例如,
ParameterSetName 屬性包含正在使用的參數(shù)集的名稱,而 ShouldProcess 方法將 WhatIf
和 Confirm 參數(shù)動態(tài)添加到 cmdlet。
 
有關(guān) $PSCmdlet 自動變量的詳細(xì)信息,請參閱 about_Functions_Advanced。
 
$PsCulture
包含操作系統(tǒng)中當(dāng)前所用的區(qū)域性的名稱。區(qū)域性確定數(shù)字、貨幣和日期等項(xiàng)的顯示格式。這是系
統(tǒng)的 System.Globalization.CultureInfo.CurrentCulture.Name 屬性的值。要獲取系統(tǒng)
的 System.Globalization.CultureInfo 對象,請使用 Get-Culture cmdlet。
 
$PSDebugContext
在調(diào)試期間,此變量包含有關(guān)調(diào)試環(huán)境的信息。在其他時(shí)間,此變量包含 NULL 值。因此,可以使
用此變量指示調(diào)試程序是否擁有控制權(quán)。填充之后,此變量包含一個(gè)具有 Breakpoints 和
InvocationInfo 屬性的 PsDebugContext 對象。InvocationInfo 屬性有多個(gè)十分有用的
屬性,包括 Location 屬性。Location 屬性指示正在調(diào)試的腳本的路徑。
 
$PsHome
包含 Windows PowerShell 的安裝目錄的完整路徑(通常為
%windir%System32WindowsPowerShellv1.0)??梢栽?Windows PowerShell 文件
的路徑中使用此變量。例如,下面的命令在概念性幫助主題中搜索”variable”一詞:
 
select-string -pattern variable -path $pshome*.txt
 
$PSScriptRoot
包含要從中執(zhí)行腳本模塊的目錄。
通過此變量,腳本可以使用模塊路徑來訪問其他資源。
 
$PsUICulture
包含操作系統(tǒng)中當(dāng)前所用的用戶界面 (UI) 區(qū)域性的名稱。UI 區(qū)域性確定哪些文本字符串用于用戶
界面元素(如菜單和消息)。這是系統(tǒng)的
System.Globalization.CultureInfo.CurrentUICulture.Name 屬性的值。要獲取系統(tǒng)
的 System.Globalization.CultureInfo 對象,請使用 Get-UICulture cmdlet。
 
$PsVersionTable
包含一個(gè)只讀哈希表,該哈希表顯示有關(guān)在當(dāng)前會話中運(yùn)行的 Windows PowerShell 版本的詳
細(xì)信息。
該表包括下列項(xiàng):
 
CLRVersion: 公共語言運(yùn)行時(shí) (CLR) 的版本
BuildVersion: 當(dāng)前版本的內(nèi)部版本號
PSVersion: Windows PowerShell 版本號
WSManStackVersion: WS-Management 堆棧的版本號
PSCompatibleVersions: 與當(dāng)前版本兼容的 Windows PowerShell 版本
SerializationVersion :序列化方法的版本
PSRemotingProtocolVersion:Windows PowerShell 遠(yuǎn)程管理協(xié)議的版本
$Pwd
包含一個(gè)路徑對象,該對象表示當(dāng)前目錄的完整路徑。
 
$Sender
包含生成此事件的對象。此變量只在事件注冊命令的 Action 塊內(nèi)填充。
此變量的值也可在 Get-Event 返回的 PSEventArgs
(System.Management.Automation.PSEventArgs) 對象的 Sender 屬性中找到。
 
$ShellID
包含當(dāng)前 shell 的標(biāo)識符。
 
$SourceArgs
包含表示正在被處理的事件的事件參數(shù)的對象。此變量只在事件注冊命令的 Action
塊內(nèi)填充。此變量的值也可在 Get-Event 返回的 PSEventArgs
(System.Management.Automation.PSEventArgs) 對象的 SourceArgs 屬性中找到。
 
$SourceEventArgs
包含一個(gè)對象,該對象表示從正在被處理的事件的 EventArgs 中派生出的
第一個(gè)事件參數(shù)。此變量只在事件注冊命令的 Action 塊內(nèi)填充。
此變量的值也可在 Get-Event 返回的 PSEventArgs
(System.Management.Automation.PSEventArgs) 對象的 SourceArgs 屬性中找到。
 
$This
在定義腳本屬性或腳本方法的腳本塊中,$This 變量引用要擴(kuò)展的對象。
 
$True
包含 TRUE。可以在命令和腳本中使用此變量表示 TRUE。

另請參閱
about_Hash_Tables
about_Preference_Va

riables
about_Variables

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲欧美日韩另类在线一 | 黄版快手| 色琪琪久久草在线视频 | 亚洲国产成人精品无码区5566 | 天天综合天天综合色在线 | 女人被爽到呻吟娇喘的视频动态图 | 国产在线观看福利片 | 欧美腐剧mm在线观看 | 国产亚洲女在线线精品 | 国内精品 大秀视频 日韩精品 | 亚洲性久久久影院 | 国产男技师 | 日本在线播放 | 国产一二三区视频 | 91人人| 四川一级毛片 | 白鹿扒开内裤露出尿孔 | 9966久久精品免费看国产 | 色男人影院 | 精品国产国产综合精品 | 短篇最污的乱淫伦小说全集 | 夫妇野外交换激情 | 舔比小说| 91麻豆国产 | 91庥豆果冻天美精东蜜桃传媒 | 色吊丝每日永久访问网站 | 好涨好大我快受不了了视频网 | 国产精品久久久久久久久齐齐 | 91视频完整版 | 羞羞视频污 | 亚洲欧美日韩另类精品一区二区三区 | a级黄色片免费 | 久青草国产观看在线视频 | 欧美又硬又粗又长又大 | 青青草99久久精品国产综合 | 奇米久草| 久久综合老色鬼网站 | 男人的天堂久久 | 欧美 亚洲 综合 卡通 另类 区 | 美女张开腿黄网站免费精品动漫 | 884aa草莓视频 |