在PowerShell中,我們可以輕松的與數據、對象進行交互,為了簡化我們訪問外部數據, PowerShell允許我們像操作驅動器、文件一樣對數據、對象等進行操作。
使用這條命令,查看我們已有的Providers:
get-psprovider
實際上,每一個Provider就是一個動態鏈接庫(.dll),在PowerShell中也可以被稱之為 “管理單元”,在管理單元中,有詳細的代碼實現我們的各種操作。PowerShell甚至允許我 們自己編寫Provider:http://msdn.microsoft.com/en-us/library/cc136763 (VS.85).aspx
我們對數據等的操作方式有很多,例如:
cmdlet 功能 cmd command alias get-location 當前目錄 pwd gl set-location 改變操作目錄 cd,chdir sl new-item 新建文件或文件夾 無 ni rename-item 重命名 rn rni copy-item 復制 copy cpi move-item 移動 move mi remove-item 刪除 del ri set-item 設置內容 無 si clear-item 刪除內容 無 cli mkdir 新建文件夾 md 無 set-content 設置內容 無 sc get-content 獲取內容 type gc
PSDriver
可以通過PowerShell中的PSDriver來獲取當前驅動器列表,基本上所有的Provider都有一 個唯一的PSDriver,但是文件系統和注冊表卻是個例外,通過下面的命令查看:
get-psdriver
注意:上圖中的"Name"在顯示時並沒有顯示冒號(:),但是我們在使用時,一定要加上的 ,如alias:、c:等。
環境變量
PowerShell中的環境變量類似於CMD中的"set"命令,可以使用如下命令查看當前機器上的 環境變量設置:
cd env:
ls
我們試著獲取一些環境變量的值。
ls OS
顯示所有屬性:
ls OS | format-list *
再試試創建新的環境變量:
new-item -path . -Name New -Value “New”<enter>
下面,我們接著認識一下在"get-childitem"時所顯示的"Mode"。
第一位:d表示文件夾 -表示目錄
後四位(a、r、h、s):a存檔 r只讀 h隱藏 s系統 -表示該位未被設置
在默認情況下,"get-childitem"是不會顯示出隱藏文件的。因此,我們需要使用參數"- force"。
ls -force <enter>
那麼新創建文件呢?我們試試如下命令:
new-item newfile
此時要求輸入文件類型,即"file"、"directory",我們使用"f"、"d"即可。
或者,在新建時使用參數:
PowerShell中的Function
PowerShell中提供了一個引擎,以供我們調用各種函數來實現功能。我們先看看自帶函數 :
cd function:
ls
接下來,用之前介紹過的cmdlet看看"clear-host"函數內容吧:
get-content clear-host
因此,我們可以為了方便,盡可能的創建一些代碼塊,實現特定功能,剩下要做的就只是 調用了。是不是很方便呢?在後面的教程中我會詳細介紹自己編寫函數來實現功能調用。
注冊表
在PowerShell中我們可以像操作文件一樣操作注冊表。PowerShell允許我們對HKCU與HKLM 進行操作。
HKCU:HKEY_CURRENT_USER
HKLM:HKEY_LOCAL_MACHINE
試試下列命令:
cd hklm:
cd software
ls
證書
cd cert:
ls
導出看看吧~
ls -Recurse | Export-CSV “d:\Cert.csv”
好了,這一節內容就到這裡~東西比較雜,也比較瑣碎,但是這些將大大加深我們對 PowerShell的理解與認識,以幫助我們以後更好的學習。
也到周末了,願各位周末快樂!感謝對本博客的關注~謝謝!
new-item newfile -type f