婷婷综合国产,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
    本田岬高潮一区二区三区| 欧美日韩一区二区在线视频| 一区二区欧美国产| 一级精品视频在线观看宜春院| 亚洲成人激情综合网| 欧美r级电影在线观看| 国产精品护士白丝一区av| 日本福利一区二区| 日韩三级av在线播放| 国产欧美一区二区三区沐欲| 夜夜亚洲天天久久| 99国产精品国产精品毛片| 9色porny自拍视频一区二区| 欧美不卡在线视频| 精品在线免费观看| 国产精品欧美综合在线| 北条麻妃一区二区三区| 26uuu亚洲| 国产成人超碰人人澡人人澡| 中文字幕亚洲在| 国产河南妇女毛片精品久久久| 亚洲精品视频观看| 欧美日韩一区二区电影| 美国欧美日韩国产在线播放| 自拍偷拍亚洲激情| 国产日韩视频一区二区三区| 欧美最猛黑人xxxxx猛交| 国产视频一区在线播放| 亚洲乱码国产乱码精品精小说| 欧美三区在线观看| 欧美电影免费观看高清完整版在 | 国产一区二区三区四| 亚洲欧美国产三级| 欧美岛国在线观看| 9人人澡人人爽人人精品| 蜜臀av性久久久久av蜜臀妖精| 欧美精品一区二区三区高清aⅴ| 国产成人无遮挡在线视频| 亚洲综合视频网| 久久精品这里都是精品| 欧美高清视频不卡网| 欧美主播一区二区三区| 精品视频资源站| 成人晚上爱看视频| 97se亚洲国产综合自在线| 蜜桃视频第一区免费观看| 国产超碰在线一区| 首页国产欧美久久| 国产精品白丝jk白祙喷水网站| 成人免费电影视频| 91黄色免费看| 精品剧情v国产在线观看在线| 欧美大片日本大片免费观看| 日韩午夜激情视频| 久久精品一二三| 亚洲欧美一区二区在线观看| 一级特黄大欧美久久久| 日本中文字幕不卡| 国产资源在线一区| 欧美亚洲丝袜传媒另类| 911精品产国品一二三产区| 7777女厕盗摄久久久| 欧美日韩国产乱码电影| 欧美日韩色一区| 精品国产一区二区三区av性色| 成人欧美一区二区三区小说| 亚洲va在线va天堂| 色综合久久中文字幕| 欧美日韩小视频| 一区二区三区蜜桃| 激情综合亚洲精品| 色香色香欲天天天影视综合网| 欧美日韩亚洲综合一区| 亚洲色图清纯唯美| 国产999精品久久久久久| 4438x亚洲最大成人网| 欧洲人成人精品| 欧美中文字幕一二三区视频| 国产偷v国产偷v亚洲高清| 日韩av电影免费观看高清完整版在线观看| 狠狠色狠狠色综合日日91app| 精品国产一区二区三区av性色| 亚洲女同ⅹxx女同tv| 99久久精品免费| 国产日产欧美一区二区三区 | 亚洲视频在线一区观看| 亚洲蜜桃精久久久久久久| 日本女人一区二区三区| 欧洲亚洲精品在线| 国产精品你懂的在线欣赏| 国内久久精品视频| 久久久.com| 成人午夜激情在线| 精品国产青草久久久久福利| 风流少妇一区二区| 亚洲精品一二三| 国产女主播一区| 欧美三区免费完整视频在线观看| 亚洲bt欧美bt精品| 精品国产乱码久久久久久1区2区| 美女视频免费一区| 夫妻av一区二区| 91免费国产视频网站| 久久众筹精品私拍模特| 国产一区二区三区免费观看| 欧美日韩视频在线一区二区| 精品一区二区免费视频| 精品第一国产综合精品aⅴ| 东方aⅴ免费观看久久av| 久久久久久综合| 91在线视频官网| 日韩av二区在线播放| 亚洲国产精品天堂| 亚洲日本成人在线观看| 26uuu精品一区二区在线观看| 国产成人免费视频一区| 777欧美精品| 精品国产乱码久久久久久图片 | 91精品国产乱码久久蜜臀| 不卡av免费在线观看| 狠狠色丁香久久婷婷综合丁香| 亚洲自拍偷拍欧美| 国产精品国产三级国产普通话蜜臀| 欧美福利一区二区| 精品剧情在线观看| 欧美日韩精品电影| 欧美tickling网站挠脚心| 精品国产91洋老外米糕| 亚洲日本中文字幕区| 日本一区二区三区视频视频| 中文字幕一区二区三区av| 国产偷国产偷精品高清尤物| 日韩一区二区视频在线观看| 欧美videos大乳护士334| 国产精品毛片久久久久久| 亚洲国产视频网站| 亚洲va欧美va人人爽| 日韩中文字幕亚洲一区二区va在线 | 色嗨嗨av一区二区三区| 宅男噜噜噜66一区二区66| 久久先锋影音av鲁色资源网| 亚洲va天堂va国产va久| 国产福利一区在线观看| 欧美天堂亚洲电影院在线播放| 美洲天堂一区二卡三卡四卡视频| a4yy欧美一区二区三区| 成人av在线播放网址| 91精品久久久久久久久99蜜臂| 久久久久国产免费免费| 手机精品视频在线观看| av综合在线播放| 337p日本欧洲亚洲大胆精品 | 青椒成人免费视频| 欧美日韩激情一区二区| 国产亚洲视频系列| 国产综合色在线| 久久五月婷婷丁香社区| 国产高清精品网站| 久久精品一区二区| av亚洲精华国产精华| 亚洲欧美日韩综合aⅴ视频| 91在线免费看| 亚洲激情在线激情| 欧美日韩一本到| 美女精品一区二区| 国产精品系列在线| 欧美伦理影视网| 国产伦理精品不卡| 国产精品女上位| 宅男在线国产精品| 99国产一区二区三精品乱码| 亚洲一区二区三区四区五区中文| 欧美视频精品在线| 高潮精品一区videoshd| 亚洲午夜一区二区| 中文字幕一区二区视频| 欧美日韩第一区日日骚| 国产精品一二一区| 亚洲444eee在线观看| 久久―日本道色综合久久| 91亚洲精华国产精华精华液| 蜜臀av一区二区在线免费观看| ㊣最新国产の精品bt伙计久久| 欧美一区二区私人影院日本| 色婷婷综合久色| 蜜臀av亚洲一区中文字幕| 亚洲欧美日韩国产一区二区三区| 91在线国产观看| 91浏览器在线视频| 黄页网站大全一区二区| 蜜桃视频免费观看一区| 精品一区二区三区香蕉蜜桃 | 国产精品成人在线观看| 欧美精品久久99久久在免费线| jlzzjlzz亚洲日本少妇| 高清shemale亚洲人妖| 91网站在线观看视频| 欧美美女激情18p| www国产成人免费观看视频 深夜成人网| 精品三级在线看|