婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 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方法(對象能做什么)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    91极品视觉盛宴| 久久蜜桃av一区二区天堂| 制服丝袜亚洲播放| 久久亚洲私人国产精品va媚药| 亚洲老司机在线| 久草精品在线观看| 欧美在线观看一区二区| 久久久久久久久久久久久夜| 亚洲超碰精品一区二区| 成人av在线网站| 日韩视频一区二区三区| 一区二区三区四区不卡视频 | 日韩伦理电影网| 蜜桃视频一区二区| 欧美性色欧美a在线播放| 亚洲国产精品v| 国产一区激情在线| 日韩一区二区三区视频在线| 亚洲第一电影网| 欧美亚洲自拍偷拍| 亚洲一区二区视频在线观看| 91在线视频播放地址| 国产色产综合产在线视频| 精品一区二区免费看| 欧美顶级少妇做爰| 婷婷综合另类小说色区| 在线视频你懂得一区| 亚洲精品乱码久久久久| 色综合激情久久| 亚洲精品午夜久久久| 日本二三区不卡| 亚洲综合丁香婷婷六月香| 色久优优欧美色久优优| 亚洲视频香蕉人妖| 99久久精品免费看| 亚洲人亚洲人成电影网站色| 99免费精品在线观看| 亚洲欧美日韩国产综合| 91麻豆swag| 一区二区三区高清在线| 色婷婷激情久久| 亚洲电影你懂得| 91.xcao| 欧美aⅴ一区二区三区视频| 91麻豆精品国产91久久久久久久久 | 中文字幕一区二区三中文字幕| 激情小说欧美图片| 26uuu国产日韩综合| 高清国产一区二区三区| 中文字幕五月欧美| 欧美性猛交xxxx黑人交| 丝袜美腿亚洲一区二区图片| 日韩一级完整毛片| 国产成人av福利| 亚洲人成网站色在线观看| 精品视频在线免费观看| 久久不见久久见免费视频7| 国产日韩影视精品| 色88888久久久久久影院按摩| 婷婷综合五月天| 国产欧美日韩一区二区三区在线观看| 成人美女视频在线看| 一区二区三区不卡在线观看| 日韩一区和二区| 成人av网站大全| 亚洲h动漫在线| 久久蜜臀精品av| 欧美伊人久久久久久久久影院 | 青草av.久久免费一区| 久久久亚洲高清| 色综合久久66| 国产乱子伦视频一区二区三区 | 国产福利一区二区三区视频| 亚洲欧美电影一区二区| 欧美一区在线视频| 成人av在线播放网站| 美腿丝袜一区二区三区| 亚洲人被黑人高潮完整版| 欧美一卡2卡三卡4卡5免费| av欧美精品.com| 裸体在线国模精品偷拍| 136国产福利精品导航| 精品国产一区二区三区四区四| 成人高清免费观看| 久久成人精品无人区| 亚洲成人av电影在线| 国产精品的网站| 精品999在线播放| 欧美一区二区三区在线视频 | 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 高清av一区二区| 男人的天堂久久精品| 亚洲综合激情另类小说区| 国产精品久久久久久久久免费桃花 | 亚洲欧洲精品天堂一级| 日韩精品一区二区三区在线播放| 91在线码无精品| 成人动漫视频在线| 精品综合免费视频观看| 日韩高清在线观看| 亚洲图片欧美视频| 一级精品视频在线观看宜春院| 国产精品午夜免费| 久久久久久免费毛片精品| 日韩一区二区在线免费观看| 在线播放欧美女士性生活| 欧美三级午夜理伦三级中视频| 99精品国产一区二区三区不卡| 国产福利精品导航| 国产精品1区二区.| 国产乱子轮精品视频| 国内外精品视频| 国产激情视频一区二区三区欧美| 国产美女娇喘av呻吟久久| 久久99国产精品麻豆| 国产在线看一区| 国产一区视频在线看| 国产不卡视频一区| 99久久婷婷国产| 91久久精品一区二区三| 欧美亚洲一区二区三区四区| 欧美日韩免费视频| 欧美一级黄色片| 精品国产精品一区二区夜夜嗨| 337p粉嫩大胆噜噜噜噜噜91av| 国产片一区二区| 亚洲免费av观看| 亚洲电影一区二区三区| 丝袜美腿高跟呻吟高潮一区| 久久91精品久久久久久秒播| 国产美女在线观看一区| av一本久道久久综合久久鬼色| 欧美在线观看视频一区二区三区 | 中文在线一区二区| 亚洲欧美综合网| 亚洲午夜免费视频| 久久精品国产免费| 99re6这里只有精品视频在线观看| 91丨九色丨尤物| 欧美一三区三区四区免费在线看| 久久久精品tv| 亚洲免费色视频| 日本成人超碰在线观看| 国产成人精品www牛牛影视| 欧美亚洲另类激情小说| 精品美女一区二区| 国产精品不卡视频| 日韩电影在线一区二区三区| 国产高清不卡二三区| 欧美日韩亚洲另类| 日本一区二区高清| 五月天视频一区| 成人黄色综合网站| 日韩三级高清在线| 中文字幕一区视频| 久久99热这里只有精品| 色综合久久综合中文综合网| 日韩一区二区视频| 亚洲蜜桃精久久久久久久| 九九精品一区二区| 欧美无乱码久久久免费午夜一区 | 蜜桃一区二区三区在线观看| 成人黄色网址在线观看| 欧美一区二区美女| 樱花草国产18久久久久| 国产福利精品一区| 欧美一区二区私人影院日本| 一区二区三区日韩欧美| 国产精品资源网| 日韩欧美国产电影| 午夜亚洲福利老司机| 91免费观看在线| 国产亚洲综合在线| 麻豆国产欧美日韩综合精品二区| 欧美中文一区二区三区| 日本一区二区高清| 国产传媒久久文化传媒| 欧美白人最猛性xxxxx69交| 亚洲国产精品一区二区久久恐怖片| 夫妻av一区二区| 欧美刺激午夜性久久久久久久| 亚洲午夜在线视频| 日本电影欧美片| 樱桃国产成人精品视频| 色综合咪咪久久| 中文字幕亚洲欧美在线不卡| 国产精品一区二区果冻传媒| 欧美va在线播放| 日本亚洲一区二区| 在线不卡免费欧美| 日韩国产精品大片| 91精品黄色片免费大全| 午夜欧美大尺度福利影院在线看| 色香蕉久久蜜桃| 亚洲精品ww久久久久久p站| 色综合夜色一区| 一区二区三区四区五区视频在线观看| 91女神在线视频| 一区二区久久久久| 欧美另类videos死尸|