溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Windows PowerShell 學(xué)習(xí)---第一章 PowerShell介紹

發(fā)布時(shí)間:2020-07-25 15:24:32 來源:網(wǎng)絡(luò) 閱讀:1902 作者:weixiaoxin51 欄目:系統(tǒng)運(yùn)維

第1章 PowerShell介紹

1.1、什么是PowerShell

2006年,微軟發(fā)布一款叫做Windows PowerShell的全新腳本語言。

PowerShell與命令提示符shell一樣,PowerShell可以進(jìn)行交互性地輸入命令。也可以很容易的使用管道和重定向?qū)⑽募统绦虼?lián)起來。

不過,PowerShell確是一個(gè)強(qiáng)大的面向?qū)ο蟮恼Z言,可以用于復(fù)雜的腳本編程。

 

1.2、面向?qū)ο蟮拿?/span>shell

關(guān)于cmd

如果在命令提示符下輸入dir,dir命令將會(huì)在屏幕打印出目錄中的文件名、大小和時(shí)間戳等信息??梢允褂?/span>>重定向操作符將這些文本導(dǎo)入到一個(gè)文件中,或者使用|操作符將文本管道連接到另一個(gè)程序。例如:

dir /s /b| sort

上述命令列出了當(dāng)前目錄及其子目錄中的文件,作為一個(gè)文本流,并且這些文本發(fā)送給了sort程序,sort按照字母順序?qū)λ鼈兣判颉?/span>

 

PowerShell和對象

PowerShell命令似乎以同樣的方式工作,但是它的命令行處理的是對象而不是文本。這個(gè)對象就是像Java中面向?qū)ο蟮哪莻€(gè)對象。這些對象表示文件、文件夾、Windows設(shè)備驅(qū)動(dòng)、網(wǎng)絡(luò)服務(wù)的對象,以及記錄了.NET框架庫中定義的數(shù)百個(gè)對象中的任何之一的對象。

通過管道符號(hào)從一條命令流向下一條命令,是對象流。各種PowerShell命令可以生成、操作這些對象,調(diào)用這些對象上的方法,修改這些對象的屬性,以及從這些對象提取信息。

 

關(guān)于cmdlet

Cmdlet讀作command-let

PowerShell內(nèi)建命令起名叫做cmdlet。之所以起個(gè)這么奇怪的名字可能是因?yàn)椋鼈儾幌?/span>cmd.exe的命令那樣完全內(nèi)建到PowerShell中,也并不是真的像.exe文件一樣完全獨(dú)立于PowerShell。它們以一種新的方式實(shí)現(xiàn),因此需要一個(gè)新的單詞。

 

Cmdlet的一些簡單說明

  • Cmdlet名稱不區(qū)分大小寫。

  • 微軟程序員選擇使用一個(gè)名詞-動(dòng)詞的慣例來命名cmdlet。

這樣使得該名稱更清晰的說明cmdlet實(shí)際做什么。

  • Cmdlet命令行選項(xiàng)的名稱也一樣的長。

  • 一些命令可以縮短到更短。

例如使用new-alias命令可以為cmdlet起一個(gè)短名別名。

 

dir命令在PowerShell中輸入后發(fā)生了什么

PowerShell dir命令實(shí)際上是Get-ChildItemcmdlet的一個(gè)別名??梢暂斎脒@兩個(gè)名字中的任何一個(gè),來得到同樣的結(jié)果。

不帶其他參數(shù)的時(shí)候,Get-ChildItem針對當(dāng)前目錄中的所有文件和子目錄,列出FileFolder對象。如果輸入了命令dir而不帶參數(shù),Get-ChildItem會(huì)顯示出FileFolder對象的一個(gè)列表,別切由于沒有管道或輸出重定向,結(jié)果會(huì)出現(xiàn)在Windows PowerShell命令窗口中。

當(dāng)對象進(jìn)入到PowerShell窗口的時(shí)候,PowerShell會(huì)針對每個(gè)對象打印一行,以漂亮的表格格式,列出每個(gè)對象最重要的屬性。例如:

PSE:\py> dir

 

 

    目錄: E:\py

 

 

Mode                LastWriteTime     Length Name

----                -------------     ------ ----

-a---        2015/11/18     18:28         30 a.txt

-a---          2015/8/6     18:09      1510 t1.py

-a---         2015/9/13     13:15        320 t2.py

-a---         2015/9/13     12:57         37 t2.txt

-a---        2015/11/19     14:40        224 t3.py

 

 

PSE:\py>

 

在各欄頂部的標(biāo)題,是要顯示的屬性的名稱。這個(gè)列表對于cmdlet產(chǎn)生的任何其他對象類型來說都是類似的。

常規(guī)命令提示符環(huán)境中的dir命令生成固定格式的文本。PowerShell中的dir cmdlet,生成FileFolder對象的一個(gè)列表,PowerShell事后將其格式化為一個(gè)文本列表。

可以使用>符號(hào),將一個(gè)PowerShell cmdlet的輸出重定向到一個(gè)文件;并且會(huì)發(fā)生相同的事情:對象流格式化為一個(gè)漂亮的文本列表。

PowerShell的創(chuàng)新在于,當(dāng)使用管道之后所發(fā)生的事情。PowerShell允許你將一個(gè)對象流從一個(gè)cmdlet導(dǎo)向到另一個(gè)cmdlet,并且可以修改這些對象的屬性并調(diào)用對象上的方法,就好像對象真的傳遞過來一樣。只有當(dāng)對象最終觸及屏幕的時(shí)候文本才會(huì)出現(xiàn)。一個(gè)cmdlet可以產(chǎn)生表示文件、計(jì)算機(jī)、服務(wù)和網(wǎng)絡(luò)對象等對象的一個(gè)列表;管道中的一下一個(gè)cmdlet可以進(jìn)行過濾并只是傳遞它感興趣的那些對象;下一個(gè)cmdlet可能調(diào)用方法在對象上執(zhí)行操作。這真的是PowerShell的獨(dú)特功能。

 

例如刪除特定目錄下文件

PSD:\ps> dir

 

 

    目錄: D:\ps

 

 

Mode                LastWriteTime     Length Name

----                -------------     ------ ----

-a---          2017/9/9     17:00          0 1 - 副本 (2).txt

-a---          2017/9/9     17:00          0 1 - 副本 (3).txt

-a---          2017/9/9     17:00          0 1 - 副本 (4).txt

-a---          2017/9/9     17:00          0 1 - 副本.txt

-a---          2017/9/9     17:00          0 1.txt

 

 

PSD:\ps> dir|Remove-Item

PSD:\ps> dir

PSD:\ps>

Dir生成了表示目錄d:\ps的內(nèi)容的FileFolder對象的一個(gè)列表,并且將其傳遞給了remove-item命令,remove-item刪除了傳遞給它的任何對象背后的真實(shí)內(nèi)容。

 

或者可以使用下面的命令。

(dir d:\ps).delete()

它會(huì)生成同樣的filefolder對象的流,并且在每個(gè)對象上調(diào)用delete方法。結(jié)果是相同的:文件都刪除掉了。

 

還可以這樣:

Remove-itemd:\ps\*.*

這將會(huì)是最為直接的命令,但是這樣就沒展示出PowerShell和常規(guī)命令提示符的區(qū)別。

 

下面是另一個(gè)示例,展示了一個(gè)管道命令是如何工作的。

PSD:\ps> dir

 

 

    目錄: D:\ps

 

 

Mode                LastWriteTime     Length Name

----                -------------     ------ ----

-a---          2017/9/9     17:12          0 1.txt

-a---          2017/9/9     17:12          0 2.txt

 

 

PSD:\ps> dir|Where-Object {$_.name -eq "1.txt"}

 

 

    目錄: D:\ps

 

 

Mode                LastWriteTime     Length Name

----                -------------     ------ ----

-a---          2017/9/9     17:12          0 1.txt

 

 

PSD:\ps> dir|Where-Object {$_.name -eq "1.txt"}|remove-it

PSD:\ps> dir

 

 

    目錄: D:\ps

 

 

Mode                LastWriteTime     Length Name

----                -------------     ------ ----

-a---          2017/9/9     17:12         0 2.txt

 

 

PSD:\ps>

 

 

 

Dir針對當(dāng)前目錄中的每一個(gè)文件生成了一個(gè)對象,where-Object用于過濾,過濾出文件名為1.txt的對象,并且用remove-item刪除了這個(gè)文件。

 

 

1.3、基于.NET Framework

.NET Framework是微軟對sunJava編程語言的應(yīng)對之策。這里包含了一個(gè)強(qiáng)大的類庫,可以能夠使用圖形化用戶接口、數(shù)據(jù)庫訪問、網(wǎng)絡(luò)通信、web交互、加密、數(shù)值計(jì)算等功能。

.NET Framework的所有功能在PowerShell命令行和腳本中都是可用的。

 

.NET Framework class library在線地址

https://msdn.microsoft.com/zh-cn/library/w0x726c2(v=vs.110).aspx

 

 

1.4、一個(gè)可擴(kuò)展的環(huán)境

PowerShell可以運(yùn)行3種程序:內(nèi)建命令、外部程序和腳本。

這類似于常規(guī)命令提示符環(huán)境,在命令提示符中,你可以使用由cmd程序自身處理的內(nèi)建命令,可以運(yùn)行外部程序,或者創(chuàng)建批處理文件,批處理文件是組合各種類型的命令來分布執(zhí)行一個(gè)較為復(fù)雜的任務(wù)。

 

PowerShell中,內(nèi)建命令是cmdlet。然而,和命令提示符shell不同,這些內(nèi)建的命令沒有固化到PowerShell程序中,而是通過一個(gè)插件方法、作為在硬盤上存儲(chǔ)的一個(gè)或多個(gè).DLL文件來添加到PowerShell程序中。

 

因此,定制的cmdlet可以添加到該環(huán)境。思路是:Microsoft和第三方可以為他們的應(yīng)用程序和服務(wù)器添加安裝管理cmdlet,以便可以由PowerShell腳本管理它們。例如,Microsoft SQL SeverExchangeVMWare服務(wù)器擁有定制的cmdlet插件、

 

 

1.5、PowerShell環(huán)境

開始à所有程序à附件àWindows PowerShell

  • Windows PowerShell 交互式命令環(huán)境

  • Windows PowerShell ISE 這是一個(gè)GUI編輯\調(diào)試工具,可以用來開發(fā)PowerShell腳本。


1.6、PowerShell版本

Win 7Windows server 2008R2默認(rèn)安裝的是v2.0版本

 

1.7、獲取幫助

首先要學(xué)習(xí)的最重要的PowerShell命令,幫助了解其他命令的一個(gè)命令:get-help。

Get-help有一個(gè)別名help。因此可以互換地使用這些命令名的任何一個(gè)。PowerShell有很多內(nèi)建的幫助。

一些技巧如下:

  • 輸入單詞help來來獲取在線幫助系統(tǒng)的一個(gè)快速介紹

PSE:\py> help

主題

    Get-Help

 

簡短說明

    顯示有關(guān) Windows PowerShell cmdlet 和概念的幫助。

 

詳細(xì)說明

 

語法

    get-help {<CmdletName> |<TopicName>}

    help {<CmdletName> |<TopicName>}

    <CmdletName> -?

 

    Get-help”和“-?”以單頁形式顯示幫助。

    Help”以多頁形式顯示幫助。

 

    示例:

      get-help get-process   :顯示有關(guān) Get-Process cmdlet 的幫助。

      get-help about_signing :顯示有關(guān)簽名腳本的幫助。

      help where-object      :顯示有關(guān) Where-Object cmdlet 的幫助。

      help about_foreach     :顯示有關(guān) PowerShell foreach 循環(huán)的幫助。

      set-service -?         :顯示有關(guān) Set-Service cmdlet 的幫助。

 

    可以在幫助命令中使用通配符(不使用 -?)。

    如果有多個(gè)匹配的幫助主題,PowerShell 將顯示匹配主題列表。

    如果只有一個(gè)匹配的幫助主題,PowerShell 將顯示該主題。

 

    示例:

      get-help *      :顯示所有幫助主題。

      get-help get-*  :顯示以 get- 開頭的主題。

      help *object*   :顯示名稱中包含“object”的主題。

      get-help about* :顯示所有概念性主題。

 

    有關(guān)通配符的信息,請鍵入:

      get-help about_wildcard

 

備注

    若要了解 Windows PowerShell 的有關(guān)信息,請閱讀以下幫助主題:

      get-command  :從 cmdlet 代碼中獲取有關(guān) cmdlet 的信息。

      get-member   :獲取對象的屬性和方法。

      where-object :篩選對象屬性。

      about_object :介紹 Windows PowerShell 中對象的用法。

      about_remote :說明如何在遠(yuǎn)程計(jì)算機(jī)上運(yùn)行命令。

 

    概念性幫助文件以“about_<主題>”的形式命名,例如:about_regular_expression

 

    概念性幫助文件的名稱必須用英文輸入,即使在非英文版 Windows PowerShell 中也是如此。

 

    幫助命令還可顯示 cmdlet 的別名。這些別名是更容易鍵入的代用名或略稱。

    例如,Invoke-Command cmdlet 的別名是“remote”。

 

    若要獲得別名,請鍵入:

 

      get-alias

 

 

 

PSE:\py>

 

 

  • helpget-help后面,你可以輸入一個(gè)單詞、cmdlet名稱或部分cmdlet名稱。

也可以輸入用引號(hào)括起來的一個(gè)短語。

如果有多個(gè)主題、多個(gè)cmdlet名稱或多個(gè)索命與輸入的內(nèi)容匹配,get-help會(huì)打印出所有匹配的幫助條目的一個(gè)列表。然后可以輸入help,后面跟著你想要詳細(xì)了解的特定條目的名稱。

PSC:\Users\Administrator>  Get-Help new

 

Name                              Category  Synopsis                                                                                                                                                                  

----                              --------  --------                                                                                                                                                                  

New-WSManInstance                 Cmdlet    創(chuàng)建管理資源的新實(shí)例。                                                                                                                                                               

New-WSManSessionOption            Cmdlet    創(chuàng)建 WS-Management 會(huì)話選項(xiàng)哈希表以用作以下 WS-Management cmdlet 的輸入?yún)?shù):...                                                                                                              

New-PSSession                     Cmdlet   建立與本地或遠(yuǎn)程計(jì)算機(jī)的持續(xù)性連接。                                                                                                                                                        

New-PSSessionOption               Cmdlet    創(chuàng)建包含 PSSession 高級(jí)選項(xiàng)的對象。                                                                                                                                                    

New-Module                        Cmdlet    創(chuàng)建一個(gè)僅存在于內(nèi)存中的新動(dòng)態(tài)模塊。                                                                                                                                                         

New-ModuleManifest                Cmdlet    創(chuàng)建一個(gè)新的模塊清單。                                                                                                                                                               

New-Event                         Cmdlet    創(chuàng)建新事件。                                                                                                                                                                    

New-Alias                         Cmdlet    創(chuàng)建新別名。                                                                                                                                                                    

New-TimeSpan                      Cmdlet    創(chuàng)建 TimeSpan 對象。                                                                                                                                                           

New-Object                        Cmdlet    創(chuàng)建 Microsoft .NET Framework COM 對象的實(shí)例。                                                                                                                                  

New-Variable                      Cmdlet    創(chuàng)建新變量                                                                                                                                                                      

New-EventLog                      Cmdlet    在本地或遠(yuǎn)程計(jì)算機(jī)上創(chuàng)建新事件日志和新事件源。                                                                                                                                                   

New-PSDrive                       Cmdlet    在當(dāng)前會(huì)話中創(chuàng)建 Windows PowerShell 驅(qū)動(dòng)器。                                                                                                                                          

New-Item                          Cmdlet    創(chuàng)建新項(xiàng)。                                                                                                                                                                     

New-ItemProperty                  Cmdlet    為項(xiàng)創(chuàng)建新屬性并設(shè)置該屬性的值。例如,可以使用 New-ItemProperty 創(chuàng)建和更改注冊表值和數(shù)據(jù),它們是注冊表項(xiàng)的屬性。                                                                                                         

New-Service                       Cmdlet    創(chuàng)建新的 Windows 服務(wù)。                                                                                                                                                          

New-WebServiceProxy               Cmdlet    創(chuàng)建一個(gè) Web 服務(wù)代理對象,用于在 Windows PowerShell 中使用和管理 Web 服務(wù)。                                                                                                                     

 

 

 

如果確實(shí)有一個(gè)名稱或說明包含了輸入的單詞或短語,get-help能夠打印出該主題的幫助信息。

PSC:\Users\Administrator> Get-Help new-ite

 

Name                              Category  Synopsis                                                                                                                                                                  

----                              --------  --------                                                                                                                                                                   

New-Item                          Cmdlet    創(chuàng)建新項(xiàng)。                                                                                                                                                                     

New-ItemProperty                  Cmdlet    為項(xiàng)創(chuàng)建新屬性并設(shè)置該屬性的值。例如,可以使用 New-ItemProperty 創(chuàng)建和更改注冊表值和數(shù)據(jù),它們是注冊表項(xiàng)的屬性。                                                                                                         

 

 

 

____________________________________________________________________________________________________________________________________________________________________________________________________________________

PSC:\Users\Administrator> Get-Help new-item

 

名稱

    New-Item

   

摘要

    創(chuàng)建新項(xiàng)。

   

   

語法

    New-Item [-Path] <string[]>[-Credential <PSCredential>] [-Force] [-ItemType <string>] [-Value<Object>] [-Confirm] [-WhatIf] [-UseTransaction][<CommonParameters>]

   

    New-Item -Name <string> [[-Path]<string[]>] [-Credential <PSCredential>] [-Force] [-ItemType<string>] [-Value <Object>] [-Confirm] [-WhatIf] [-UseTransaction][<CommonParameters>]

   

   

說明

    New-Item cmdlet 創(chuàng)建新項(xiàng)并設(shè)置該項(xiàng)的值??蓜?chuàng)建項(xiàng)的類型取決于該項(xiàng)所在位置。例如,在文件系統(tǒng)中,New-Item 用于創(chuàng)建文件和文件夾。在注冊表中,New-Item 用于創(chuàng)建注冊表項(xiàng)和注冊表?xiàng)l目。

   

    此外,New-Item 還可設(shè)置它所創(chuàng)建的項(xiàng)的值。例如,創(chuàng)建新文件時(shí),New-Item 可向該文件添加初始內(nèi)容。

   

 

相關(guān)鏈接

    Online version:http://go.microsoft.com/fwlink/?LinkID=113353

    about_Providers

    Get-Item

    Set-Item

    Remove-Item

    Clear-Item

    Invoke-Item

    Rename-Item

    Move-Item

    Copy-Item

 

備注

    若要查看示例,請鍵入: "get-help New-Item -examples".

    有關(guān)詳細(xì)信息,請鍵入: "get-help New-Item -detailed".

    若要獲取技術(shù)信息,請鍵入: "get-help New-Item -full".

 

 

  • 一些cmdlet有額外幫助信息可以使用。

例如你可以通過輸入help new-alias –examples看到使用new-alias cmdlet的一些示例。

額外信息的常用選項(xiàng)是-examples、-detailed、-full

  • 幫助文本出現(xiàn)在控制臺(tái)窗口中,并且默認(rèn)地通過more來管道連接的,以便在每一屏只有都會(huì)暫停。按下回車鍵繼續(xù)下一頁面。

此外,可以比較容易的將幫助信息輸出到一個(gè)文件中,>x;然后輸入notepad x來讀取該文本。

  • 有一些幫助條目覆蓋了安裝的cmdlets中的每一個(gè),還有一些關(guān)于不同主題的額外文章。

這些文章以about_開頭,例如,help about_execution_policies會(huì)打印出關(guān)于腳本安全限制系統(tǒng)的信息。

要查看所有這些about條目的一個(gè)列表輸入help about。

 

要根據(jù)cmdlet所做的工作的說明中的單詞來找到cmdlet,以及當(dāng)你已經(jīng)找到感興趣的一個(gè)cmdlet后要了解其命令行語法的話,在線幫助系統(tǒng)很好用。

 

在線幫助語法說明

  • []方括號(hào)表示可選的命令參數(shù)

  • {}花括號(hào)通常表示可以從中選擇一系列選項(xiàng),選項(xiàng)之間帶有一個(gè)垂直線|。

  • <>尖括號(hào)括起來的值是必須自己提供的。

例如[-Description <string>]表示一個(gè)可選的參數(shù)。可以忽略它,或者,輸入類似-description “some text”的內(nèi)容。也可以將其省略為-descr “sometext”。

 

1.8、別名

(1)、獲取別名列表

通過輸入alias來看到所有內(nèi)建別名的一個(gè)列表。Alias也是get-alias的別名

PSC:\Users\Administrator> alias

 

CommandType     Name                            Definition                    

-----------     ----                            ----------                    

Alias           %                              ForEach-Object                

Alias           ?                              Where-Object                  

Alias           ac                              Add-Content                   

Alias           asnp                            Add-PSSnapIn                  

Alias           cat                             Get-Content                   

Alias           cd                              Set-Location                  

Alias           chdir                           Set-Location                  

Alias           clc                             Clear-Content                 

Alias           clear                           Clear-Host                    

Alias           clhy                            Clear-History                 

Alias           cli                             Clear-Item                     

Alias           clp                            Clear-ItemProperty            

Alias           cls                             Clear-Host                    

Alias           clv                            Clear-Variable                

Alias           compare                         Compare-Object                

Alias           copy                            Copy-Item                     

Alias           cp                              Copy-Item                     

Alias           cpi                             Copy-Item                     

Alias           cpp                            Copy-ItemProperty             

Alias           cvpa                            Convert-Path                  

Alias           dbp                             Disable-PSBreakpoint          

Alias           del                             Remove-Item                   

Alias           diff                            Compare-Object                

Alias           dir                             Get-ChildItem                 

Alias           ebp                            Enable-PSBreakpoint           

Alias           echo                            Write-Output                  

Alias           epal                            Export-Alias                  

Alias           epcsv                           Export-Csv                    

Alias           epsn                           Export-PSSession              

Alias           erase                           Remove-Item                   

Alias           etsn                           Enter-PSSession               

Alias           exsn                            Exit-PSSession                

Alias           fc                              Format-Custom                 

Alias           fl                              Format-List                   

Alias           foreach                         ForEach-Object                

Alias           ft                              Format-Table                  

Alias           fw                              Format-Wide                   

Alias           gal                             Get-Alias                     

Alias           gbp                             Get-PSBreakpoint              

Alias           gc                              Get-Content                   

Alias           gci                             Get-ChildItem                 

Alias           gcm                             Get-Command                   

Alias           gcs                            Get-PSCallStack               

Alias           gdr                             Get-PSDrive                   

Alias           ghy                             Get-History                   

Alias           gi                              Get-Item                      

Alias           gjb                             Get-Job                       

Alias           gl                              Get-Location                  

Alias           gm                              Get-Member                    

Alias           gmo                             Get-Module                    

Alias           gp                             Get-ItemProperty              

Alias           gps                             Get-Process                   

Alias           group                           Group-Object                  

Alias           gsn                             Get-PSSession                 

Alias           gsnp                            Get-PSSnapIn                  

Alias           gsv                             Get-Service                   

Alias           gu                              Get-Unique                    

Alias           gv                              Get-Variable                  

Alias           gwmi                            Get-WmiObject                 

Alias           h                               Get-History                   

Alias           history                         Get-History                   

Alias           icm                            Invoke-Command                

Alias           iex                            Invoke-Expression             

Alias           ihy                             Invoke-History                

Alias           ii                              Invoke-Item                   

Alias           ipal                            Import-Alias                  

Alias           ipcsv                           Import-Csv                     

Alias           ipmo                            Import-Module                 

Alias           ipsn                           Import-PSSession              

Alias           ise                             PowerShell_ise.exe            

Alias           iwmi                           Invoke-WMIMethod              

Alias           kill                            Stop-Process                  

Alias           lp                              Out-Printer                   

Alias           ls                             Get-ChildItem                 

Alias           man                             help                          

Alias           md                              mkdir                         

Alias           measure                         Measure-Object                

Alias           mi                              Move-Item                     

Alias           mount                           New-PSDrive                   

Alias           move                            Move-Item                     

Alias           mp                             Move-ItemProperty             

Alias           mv                              Move-Item                     

Alias           nal                             New-Alias                      

Alias           ndr                             New-PSDrive                   

Alias           ni                              New-Item                      

Alias           nmo                             New-Module                    

Alias           nsn                             New-PSSession                 

Alias           nv                              New-Variable                  

Alias           ogv                             Out-GridView                  

Alias           oh                              Out-Host                      

Alias           popd                            Pop-Location                  

Alias           ps                              Get-Process                   

Alias           pushd                           Push-Location                 

Alias           pwd                             Get-Location                  

Alias           r                              Invoke-History                

Alias           rbp                             Remove-PSBreakpoint           

Alias           rcjb                            Receive-Job                   

Alias           rd                              Remove-Item                   

Alias           rdr                            Remove-PSDrive                 

Alias           ren                             Rename-Item                   

Alias           ri                              Remove-Item                   

Alias           rjb                             Remove-Job                    

Alias           rm                              Remove-Item                   

Alias           rmdir                           Remove-Item                   

Alias           rmo                             Remove-Module                 

Alias           rni                             Rename-Item                   

Alias           rnp                            Rename-ItemProperty           

Alias           rp                             Remove-ItemProperty           

Alias           rsn                             Remove-PSSession              

Alias           rsnp                           Remove-PSSnapin               

Alias           rv                             Remove-Variable               

Alias           rvpa                            Resolve-Path                  

Alias           rwmi                           Remove-WMIObject              

Alias           sajb                            Start-Job                     

Alias           sal                             Set-Alias                     

Alias           saps                            Start-Process                 

Alias           sasv                            Start-Service                 

Alias           sbp                            Set-PSBreakpoint              

Alias           sc                              Set-Content                   

Alias           select                          Select-Object                 

Alias           set                             Set-Variable                  

Alias           si                              Set-Item                      

Alias           sl                              Set-Location                  

Alias           sleep                           Start-Sleep                   

Alias           sort                            Sort-Object                   

Alias           sp                             Set-ItemProperty              

Alias           spjb                            Stop-Job                       

Alias           spps                            Stop-Process                  

Alias           spsv                            Stop-Service                  

Alias           start                           Start-Process                 

Alias           sv                              Set-Variable                  

Alias           swmi                           Set-WMIInstance               

Alias           tee                             Tee-Object                    

Alias           type                            Get-Content                   

Alias           where                           Where-Object                  

Alias           wjb                             Wait-Job                      

Alias           write                           Write-Output                  

 

 

 

 

 

(2)、定義別名

可以輸入下面的命令來定義一個(gè)新的別名:

New-alias -nameshortname –value realcommandname –description “Brief description”

當(dāng)關(guān)閉PowerShell窗口的時(shí)候,別名定義不再繼續(xù)存在。下一次運(yùn)行PowerShell的時(shí)候,定制的別名將不復(fù)存在了。

如果想要保存別名,可以通過配置文件的形式實(shí)現(xiàn)。

 

1.9PowerShell配置文件

可以通過添加定制的別名、把目錄添加到路徑-環(huán)境變量,來定制符合自己偏好的PowerShell環(huán)境。因此每次啟動(dòng)PowerShell的時(shí)候,如果必須重新輸入這些命令,簡直是一種痛苦。個(gè)腳本

PowerShell的配置文件是每次啟動(dòng)一個(gè)新的實(shí)例的時(shí)候,PowerShell所運(yùn)行的命令的一個(gè)腳本。

 

事實(shí)上,無論何時(shí),以何種形式啟動(dòng)PowerShell,它都會(huì)在如下兩個(gè)位置查找配置文件腳本:

  • C:\Windows\system32\WindowsPowerShell\v1.0\

  • C:\Users\username\Documents\WindowsPowerShell\

 

先查找一個(gè)名叫profile.ps1的腳本,如果找到就運(yùn)行它。

命令行PowerShell隨后查找一個(gè)名叫Microsoft.PowerShell_profile.ps1的配置文件腳本,如果找到就執(zhí)行它。

GUI PowerShell ISE程序首先查找profile.ps1,然后查找Microsoft.PowerShellISE_profile.ps1。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI