powershell能幹:1、可以與檔案系統交互,能夠啟動應用程序,甚至操縱應用程式;2、允許將幾個命令組合起來放到檔案裡執行,實現檔案層級的重用,也就是說可以創建腳本;3、能夠充分利用.Net類型和COM對象,來簡單地與各種系統交互,完成各種複雜的、自動化的操作。
本教學操作環境:windows10系統、Dell G3電腦。
什麼是 PowerShell?
PowerShell 是一種跨平台的任務自動化解決方案,由命令列 shell、腳本語言和設定管理框架組成。 PowerShell 在 Windows、Linux 和 macOS 上運作。
命令列 Shell
PowerShell 是新式命令 shell,其中包括其他常用 shell 的最佳功能。與大多數僅接受並傳回文字的 shell 不同,PowerShell 接受並傳回 .NET 物件。 shell 包含以下功能:
可靠的命令列歷史記錄
Tab 自動補全和指令預測(請參閱about_PSReadLine)
支援指令與參數別名
用於連結指令的管道
控制台內說明系統,類似Unix man 頁面
PowerShell能做什麼呢?
PowerShell首先是個Shell,定義好了一堆命令與作業系統,特別是與檔案系統交互,能夠啟動應用程序,甚至操縱應用程式;第二,PowerShell允許將幾個指令組合起來放到文件裡執行,實現文件級的重用,也就是說有腳本的性質;第三,PowerShell能夠充分利用.Net類型和COM對象,來簡單地與各種系統交互,完成各種複雜的、自動化的操作。
一、與檔案系統互動、運行應用程式
就像在Dos中一樣,在PowerShell的互動介面上鍵入"dir"並回車,會顯示目前資料夾下的子資料夾和檔案資訊。
PS D:\Projects\Practise\PowerShell> dir Directory: D:\Projects\Practise\PowerShell Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 1/23/2013 12:35 PM d1 d---- 1/23/2013 12:35 PM d2 -a--- 1/21/2013 8:38 PM 36314 alias.tx -a--- 1/21/2013 8:32 PM 241530 cmdlets. -a--- 1/18/2013 10:18 AM 888 errors.t
像這樣的指令很多,例如echo "Hello", cd ..等等。從這裡看來它就是一個命令列,實作了原來命令列的功能。但PowerShell是命令列的加強版嗎,是命令列的超集合嗎?這個真不是,以後會特別說這個問題。
就像在命令列裡運行應用程式一樣,可以在PowerShell的交互視窗中運行應用程序,如下:
PS C:\Users\v-lukez> notepad PS C:\Users\v-lukez>
如果想更好地控制應用程序,可以使用start指令,如下:
PS C:\Users\v-lukez> start notepad -WindowStyle Maximized PS C:\Users\v-lukez>
以上結果可以實現Notepad視窗的最大化。其實類似的指令還有很多,而且更多的參數意味著更精細地控制。
二、建立腳本
任務的自動化是以程式檔案或執行腳本檔案為基礎的,PowerShell也支援將命令清單做成腳本檔案來執行。以下是Hello.ps1腳本檔案的內容:
$a = "Hello" $a echo $a > a.txt dir a.txt
Hello.ps1腳本檔案的執行結果如下:
PS E:\> D:\Projects\Practise\PowerShell\Hello.ps1 Hello Directory: E:\ Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 1/30/2013 4:56 PM 16 a.txt
# 你可能會發現了,PowerShell腳本檔是以.PS1為副檔名的。以上這個腳本非常簡單:先定義了一個變量,然後輸出這個變數的結果,再將這個變數的值寫入檔案a.txt,最後輸出這個檔案的屬性資訊。僅從這一點看,PowerShell腳本很像Batch檔。但實際上,PowerShell可以做得更多。
PowerShell腳本支援自訂函數,就像我們在程式語言中做得那樣。 funcDemo.ps1給了一個在PowerShell腳本中編寫函數的範例:
#funcDemo.ps1 function SayHello ($name) { echo "hello $name" } SayHello "Luke"
腳本的執行結果是「Hello Luke」。
此外,關於PowerShell腳本內部語句的運行順序,這裡要做個簡單說明:除了函數定義,腳本中的命令或函數呼叫(其實也相當於執行命令)會順序執行;函數中的語句只有在函數被呼叫的時候才會被執行。
三、利用.Net類型和COM物件
能夠利用.Net類型和COM物件是PowerShell的最大特點,這讓PowerShell能夠最大限度的利用現有資源,很容易把.Net和COM程式設計師招徠到自己麾下。
簡單類型:
[int]$a = 10 [String]$b = 10
.Net類型
$Message = new-object Net.Mail.MailMessage("me@source.com","you@destination.com", "Subject", "Here is some email")
COM對象
$myWord = new-object -comobject Word.Application
創建了.Net或COM的物件以後,就可以利用這些物件的屬性和方法,來完成更複雜的操作。
作為本篇結束,用一句話總結,PowerShell吃得很少,工作很多,是Windows管理員日常必備的工具之一。走過路過,千萬不要錯過。 。 。
怎麼開啟執行PowerShell
1、win選單鍵R:
2.彈出運行視窗如下:
3、在輸入框中輸入PowerShell回車或點選確定:
## 4.輸入後會彈出PowerShell指令窗口,恭喜你搞定啦,可以直接在裡面輸入命令列使用了,參考如下:##更多相關知識,請訪問
常見問題以上是powershell幹嘛用的的詳細內容。更多資訊請關注PHP中文網其他相關文章!