亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > Windows Powershell方法(對象能做什么)

Windows Powershell方法(對象能做什么)

熱門標簽:莫拉克電梯系統外呼怎么設置 如何根據經緯度百度地圖標注 六寸地圖標注點怎么刪除 地圖標注的圖案 騰訊地圖標注中心怎么標注 印臺區呼叫中心外呼系統 新鄭電銷機器人一個月多少錢 電話機器人公司招聘 萬全縣地圖標注app

方法定義了一個對象可以做什么事情。當你把一個對象輸出在控制臺時,它的屬性可能會被轉換成可視的文本。但是它的方法卻不可見。列出一個對象的所有方法可是使用Get-Member命令,給“MemeberType”參數 傳入“Method”:

復制代碼 代碼如下:

PS C:Powershell> $Host | Get-Member -MemberType Method

   TypeName: System.Management.Automation.Internal.Host.InternalHost

Name                     MemberType Definition
----                     ---------- ----------
EnterNestedPrompt       Method     System.Void EnterNestedPrompt()
Equals                   Method     bool Equals(System.Object obj)
ExitNestedPrompt        Method     System.Void ExitNestedPrompt()
GetHashCode             Method     int GetHashCode()
GetType                  Method     type GetType()
NotifyBeginApplication  Method     System.Void NotifyBeginApplication()
NotifyEndApplication    Method     System.Void NotifyEndApplication()
PopRunspace             Method     System.Void PopRunspace()
PushRunspace            Method     System.Void PushRunspace(runspace runspace)
SetShouldExit            Method     System.Void SetShouldExit(int exitCode)
ToString                 Method     string ToString()

過濾內部方法

Get-Memeber列出了一個對象定義的所有方法,但并不是所有的方法都有用,有些方法的的用處非常有限。

Get_ 和 Set_ 方法

所有名稱以”get_”打頭的方法都是為了給對應的屬性返回一個值。例如”get_someInfo()”方法的作用就是返回屬性someInfo的值,因此可以直接通過屬性調用。

復制代碼 代碼如下:

PS C:Powershell> $Host.Version

Major  Minor  Build  Revision
-----  -----  -----  --------
2      0      -1     -1

PS C:Powershell> $Host.get_Version()

Major  Minor  Build  Revision
-----  -----  -----  --------
2      0      -1     -1

類似的象”set_someinfo”一樣,該方法只是為了給屬性someinfo賦值,可以直接通過屬性賦值調用。如果一個對象中只有”get_someinfo”,沒有對應的”set_someinfo”,說明someinfo這個屬性為只讀屬性。

標準方法

幾乎每個對象都有一些繼承自父類的方法,這些方法并不是該對象所特有的方法,而是所有對象共有的方法。
Equals 比較兩個對象是否相同
GetHashCode 返回一個對象的數字格式的指紋
GetType 返回一個對象的數據類型
ToString 將一個對象轉換成可讀的字符串

過濾包含了下劃線的方法可是使用操作符 -notlike 和 通配符 *

復制代碼 代碼如下:

PS C:Powershell> $Host.UI.RawUI | Get-Member -me method | where {$_.Name -notlike '*_*'}

   TypeName: System.Management.Automation.Internal.Host.InternalHostRawUserInterface

Name                 MemberType Definition
----                 ---------- ----------
Equals               Method     bool Equals(System.Object obj)
FlushInputBuffer      Method     System.Void FlushInputBuffer()
GetBufferContents    Method     System.Management.Automation.Host.BufferCell[,] GetBufferCo
GetHashCode           Method     int GetHashCode()
GetType               Method     type GetType()
LengthInBufferCells  Method     int LengthInBufferCells(string str), int LengthInBufferCell
NewBufferCellArray  Method     System.Management.Automation.Host.BufferCell[,] NewBufferCe
ReadKey               Method     System.Management.Automation.Host.KeyInfo ReadKey(System.Ma
ScrollBufferContents Method     System.Void ScrollBufferContents(System.Management.Automati
SetBufferContents    Method     System.Void SetBufferContents(System.Management.Automation.
ToString              Method     string ToString()

調用方法

一定要注意,在調用一個方法前,必須知道這個方法的功能。因為有的命令可能比較危險,例如錯誤地修改環境變量。調用一個方法,通過圓點加圓括號:
$Host.GetType()

調用帶參數的方法

UI對象有很多實用的方法,可以通過get-member預覽

復制代碼 代碼如下:

PS C:Powershell> $Host.UI | Get-Member -MemberType method

   TypeName: System.Management.Automation.Internal.Host.InternalHostUserInterface

Name                   MemberType Definition
----                   ---------- ----------
Equals                 Method     bool Equals(System.Object obj)
GetHashCode            Method     int GetHashCode()
GetType                Method     type GetType()
Prompt                 Method     System.Collections.Generic.Dictionary[string,psob
PromptForChoice        Method     int PromptForChoice(string caption, string messag
PromptForCredential    Method     System.Management.Automation.PSCredential PromptF
ReadLine                Method     string ReadLine()
ReadLineAsSecureString Method     System.Security.SecureString ReadLineAsSecureStri
ToString                Method     string ToString()
Write  Method     System.Void Write(string value), System.Void Writ
WriteDebugLine        Method     System.Void WriteDebugLine(string message)
WriteErrorLine          Method     System.Void WriteErrorLine(string value)
WriteLine               Method     System.Void WriteLine(), System.Void WriteLine(Sy
WriteProgress           Method     System.Void WriteProgress(long sourceId, System.M
WriteVerboseLine      Method     System.Void WriteVerboseLine(string message)
WriteWarningLine      Method     System.Void WriteWarningLine(string message)

哪一個參數是必須的
從列表中篩選出一個方法,再通過Get-Member得到更多的信息。

復制代碼 代碼如下:

PS C:Powershell> $info=$Host.UI |  Get-Member WriteDebugLine
PS C:Powershell> $info

   TypeName: System.Management.Automation.Internal.Host.InternalHostUserInterface

Name           MemberType Definition
----           ---------- ----------
WriteDebugLine Method     System.Void WriteDebugLine(string message)

PS C:Powershell> $info.Definition
System.Void WriteDebugLine(string message)

Definition屬性告訴你怎樣調用一個方法,每一個方法的定義都會返回一個Objec對象,System.Void 是一個特殊的類型,代表什么都沒有,即返回值為空。
接下來就可以根據函數的定義,給它傳進合適的參數調用了。

復制代碼 代碼如下:

PS C:Powershell> $Host.UI.WriteDebugLine("Hello 2012 !")
調試: Hello 2012 !

低級函數

上述的WriteDebugLine()函數并沒有什么特別。事實上所謂的$Host中的很多方法只不過是一些簡單的Cmdlets命令。例如使用如下cmdlet輸出一條調試通知

復制代碼 代碼如下:

PS C:Powershell> Write-Debug "Hello 2012 !"
PS C:Powershell> Write-Debug -Message "Hello 2012 !"

上述的命令并沒有輸出黃色的調試信息,這和$DebugPreference配置有關,因為$DebugPreference的默認值為:SilentlyContinue。
當$DebugPreference為Stop,Continue,Inquire時就會輸出調試消息:

復制代碼 代碼如下:

PS C:Powershell> [System.Enum]::GetNames([System.Management.Automation.ActionPreference])
SilentlyContinue
Stop
Continue
Inquire
PS C:Powershell> $DebugPreference="stop"
PS C:Powershell> Write-Debug "Hello 2012"
調試: Hello 2012
Write-Debug : 已停止執行命令,因為首選項變量“DebugPreference”或通用參數被設置為 Stop。
所在位置 行:1 字符: 12
+ Write-Debug   "Hello 2012"     + CategoryInfo          : OperationStopped: (:) [Write-Debug], ParentContainsErrorRecordException     + FullyQualifiedErrorId : ActionPreferenceStop,Microsoft.PowerShell.Commands.WriteDebugCommand PS C:Powershell> $DebugPreference="continue"
PS C:Powershell> Write-Debug "Hello 2012"
調試: Hello 2012

WriteErrorLine,WriteVerboseLine,WriteWarningLine的情況也類似。如果你不想受$DebugPreference配置的依賴,輸出錯誤消息可以直接使用 $host.UI.WriteDebugLine()方法。

多個方法的簽名

有些方法名相同,可以接受不同類型或者不同個數的參數,如何查看一個方法支持的所有簽名 ,使用Get-Member獲取方法對象,然后查看Definition屬性。

復制代碼 代碼如下:

PS C:Powershell> $method
PS C:Powershell> $method=$Host.UI | Get-Member WriteLine
PS C:Powershell> $method.Definition
System.Void WriteLine(), System.Void WriteLine(System.ConsoleColor foregroundColor, System.ConsoleColor backgroundColor
, string value), System.Void WriteLine(string value)

但是Definition的輸出閱讀不方便,可是稍加潤色。

復制代碼 代碼如下:

PS C:Powershell> $method.Definition.Replace("),",")`n")
System.Void WriteLine()
System.Void WriteLine(System.ConsoleColor foregroundColor, System.ConsoleColor backgroundColor, string value)
System.Void WriteLine(string value)

創建選擇菜單

這里需要使用$host.UI.PromptForChoice()方法,先查看方法的定義:

復制代碼 代碼如下:

PS C:Powershell> $host.ui.PromptForChoice

MemberType          : Method
OverloadDefinitions : {int PromptForChoice(string caption, string message, System.Collections.ObjectModel.Collection[Sy
                      stem.Management.Automation.Host.ChoiceDescription] choices, int defaultChoice), System.Collection
                      s.ObjectModel.Collection[int] PromptForChoice(string caption, string message, System.Collections.
                      ObjectModel.Collection[System.Management.Automation.Host.ChoiceDescription] choices, System.Colle
                      ctions.Generic.IEnumerable[int] defaultChoices)}
TypeNameOfValue     : System.Management.Automation.PSMethod
Value               : int PromptForChoice(string caption, string message, System.Collections.ObjectModel.Collection[Sys
                      tem.Management.Automation.Host.ChoiceDescription] choices, int defaultChoice), System.Collections
                      .ObjectModel.Collection[int] PromptForChoice(string caption, string message, System.Collections.O
                      bjectModel.Collection[System.Management.Automation.Host.ChoiceDescription] choices, System.Collec
                      tions.Generic.IEnumerable[int] defaultChoices)
Name                : PromptForChoice
IsInstance          : True

下面的腳本演示如何創建選擇菜單:

復制代碼 代碼如下:

$SwitchUser = ([System.Management.Automation.Host.ChoiceDescription]"Switchuser")
$LoginOff = ([System.Management.Automation.Host.ChoiceDescription]"LoginOff")
$Lock= ([System.Management.Automation.Host.ChoiceDescription]"Lock")
$Reboot= ([System.Management.Automation.Host.ChoiceDescription]"Reboot")
$Sleep= ([System.Management.Automation.Host.ChoiceDescription]"Sleep")

$selection = [System.Management.Automation.Host.ChoiceDescription[]]($SwitchUser,$LoginOff,$Lock,$Reboot,$Sleep)
$answer=$Host.UI.PromptForChoice('接下來做什么事呢?','請選擇:',$selection,1)
"您選擇的是:"
switch($answer)
{
0 {"切換用戶"}
1 {"注銷"}
2 {"鎖定"}
3 {"重啟"}
4 {"休眠"}
}

復制代碼 代碼如下:

PS C:PowerShell> .test.ps1
接下來做什么事呢?
請選擇:
[S] Switchuser  [L] LoginOff  [L] Lock  [R] Reboot  [S] Sleep  [?] 幫助 (默認值為“L”): Reboot
您選擇的是:
重啟

您可能感興趣的文章:
  • Windows Powershell調用靜態方法
  • Windows Powershell屬性:描述對象是什么
  • Windows Powershell對象=屬性+方法
  • Windows Powershell創建對象

標簽:臨汾 南昌 湘潭 喀什 疫苗接種 襄陽 汕頭 天水

巨人網絡通訊聲明:本文標題《Windows Powershell方法(對象能做什么)》,本文關鍵詞  Windows,Powershell,方法,對象,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Windows Powershell方法(對象能做什么)》相關的同類信息!
  • 本頁收集關于Windows Powershell方法(對象能做什么)的相關信息資訊供網民參考!
  • 推薦文章
    一 级 黄 中国色 片| 国产激情一区二区三区| 一a一级片| 亚洲第一页乱| 免费毛片播放| 国产视频一区二区在线观看| 日韩免费在线| 日韩av成人| 九九精品在线| 精品视频在线观看免费| 国产伦精品一区二区三区在线观看 | 韩国毛片免费大片| 一级毛片视频免费| 青青青草视频在线观看| 精品视频在线观看免费| 成人免费观看网欧美片| 成人免费观看的视频黄页| 成人免费高清视频| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 欧美一级视频高清片| 99色播| 香蕉视频久久| 青青久久精品国产免费看| 日韩女人做爰大片| 国产亚洲精品成人a在线| 国产伦理精品| 欧美国产日韩久久久| 国产91素人搭讪系列天堂| 成人高清免费| 日韩专区一区| 久久精品成人一区二区三区| 九九精品久久久久久久久| 四虎影视精品永久免费网站| 久草免费在线观看| 久草免费资源| 精品视频一区二区三区免费| a级毛片免费全部播放| 国产韩国精品一区二区三区| 精品国产一区二区三区精东影业| 久久精品店| 成人免费福利片在线观看| 日韩一级黄色| 亚洲www美色| 999精品影视在线观看| 国产欧美精品| 久久精品成人一区二区三区| 亚洲www美色| 久草免费在线色站| 日韩免费片| 免费毛片播放| 精品视频一区二区三区| 你懂的日韩| 四虎影视精品永久免费网站| 国产一区二区精品| 黄色短视屏| 国产欧美精品午夜在线播放| 成人免费观看网欧美片| 国产韩国精品一区二区三区| 国产成人精品综合久久久| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产成a人片在线观看视频| 青青青草影院| 精品视频一区二区三区免费| 青青久久精品| 国产高清视频免费观看| 国产极品精频在线观看| 四虎影视久久| 九九久久国产精品| 九九免费高清在线观看视频| 成人a级高清视频在线观看| 国产伦久视频免费观看 视频| 亚洲爆爽| 国产精品免费精品自在线观看| 日韩一级黄色| 免费一级生活片| 九九免费精品视频| 国产精品自拍在线| a级精品九九九大片免费看| 国产a毛片| 成人高清免费| 午夜久久网| 99热热久久| 日本伦理片网站| 亚洲 男人 天堂| 一a一级片| 999久久狠狠免费精品| 日韩专区第一页| 国产91精品一区二区| 天天色色色| 精品国产一区二区三区精东影业| 国产网站在线| 欧美激情一区二区三区视频 | 成人在激情在线视频| 日韩专区一区| 亚洲天堂免费| 国产亚洲男人的天堂在线观看| 国产欧美精品| 亚洲 国产精品 日韩| 九九精品久久久久久久久| 欧美1卡一卡二卡三新区| 99久久精品国产高清一区二区 | 黄色福利片| 精品久久久久久影院免费| 午夜在线亚洲| 精品国产香蕉伊思人在线又爽又黄| 一级女性全黄生活片免费| 日本免费乱理伦片在线观看2018| 亚久久伊人精品青青草原2020| 国产网站麻豆精品视频| 二级片在线观看| 成人免费观看视频| 麻豆系列 在线视频| 欧美爱爱动态| 韩国三级香港三级日本三级| 999精品在线| 韩国三级视频在线观看| 精品国产香蕉伊思人在线又爽又黄| 国产成人精品在线| 中文字幕一区二区三区 精品| 亚飞与亚基在线观看| 四虎久久精品国产| 99久久精品国产高清一区二区| 日日夜夜婷婷| 夜夜操天天爽| 久草免费在线色站| 黄视频网站免费| 91麻豆tv| 国产欧美精品| 九九久久国产精品| 久久国产精品自由自在| 一级片片| 久久久成人影院| 国产a视频| 国产一区免费观看| 国产高清在线精品一区二区| 国产91丝袜在线播放0| 青青青草影院 | 麻豆系列 在线视频| 日韩免费在线视频| 国产一区二区精品尤物| 亚洲第一色在线| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产亚洲免费观看| 国产一区二区精品尤物| 久草免费在线观看| 91麻豆精品国产自产在线| 久久国产精品自由自在| 欧美激情一区二区三区在线 | 午夜在线观看视频免费 成人| 欧美日本韩国| 日韩欧美一二三区| 日韩一级黄色| 免费国产在线视频| 91麻豆高清国产在线播放| 国产伦久视频免费观看 视频| 一级片片| 麻豆网站在线免费观看| 二级片在线观看| 青青青草影院| 可以免费看毛片的网站| 欧美a级大片| 日韩在线观看视频免费| 精品国产一区二区三区久 | a级精品九九九大片免费看| 日韩免费片| 国产麻豆精品hdvideoss| 欧美大片a一级毛片视频| 精品国产三级a| 国产一区二区精品久| 99热热久久| 欧美激情在线精品video| 中文字幕Aⅴ资源网| 二级特黄绝大片免费视频大片| 日韩中文字幕在线亚洲一区| 国产成+人+综合+亚洲不卡| 欧美大片一区| 国产国产人免费视频成69堂| 国产网站在线| 九九免费精品视频| 成人免费一级毛片在线播放视频| 国产麻豆精品高清在线播放| 精品国产一区二区三区久 | 91麻豆国产级在线| 欧美国产日韩在线| 黄视频网站免费观看| 沈樵在线观看福利| 亚洲 激情| 国产精品1024永久免费视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 免费国产在线观看| 国产伦久视频免费观看 视频| 久久精品店| 国产伦久视频免费观看视频| 久久国产一久久高清| 美国一区二区三区| 91麻豆高清国产在线播放| a级黄色毛片免费播放视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 99色视频在线观看| 成人免费观看视频|