今天整理資料看到三年前的筆記,貼上來分享一下不專業心得,順便貼一些連結。
================================
下載並安裝PowerShell,PowerShell Help最好也一併下載參考。
在WinXP SP3環境下,安裝路徑在:「%SystemRoot%\system32\WindowsPowerShell\v1.0\」
使用時執行PowerShell「%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe」環境。
輸入「Set-ExecutionPolicy RemoteSigned」以解除近端執行限制,但同時限定遠端腳本須簽署過才能執行。
或者輸入「Set-ExecutionPolicy Unrestricted」以解除所有執行限制。
執行「.ps1」腳本文件時,需提供完整路徑。除非在腳本文件同路徑時,方可以執行「.\example.ps1」代替完整路徑。
若路徑中有空白,須前後加雙引號並以「呼叫運算式」→「&」引用。例如:「& "C:\My Scripts\example.ps1"」。
若在系統「PATH」設定過路徑,則不輸入檔案路徑時,腳本亦可被找到並執行。
若採行此法,為免混淆最好統一集中在同一個資料夾(路徑)中。
可輸入「$a = $env:path; $a.Split(";")」以查詢已設定過之路徑(通常為系統安裝時預設)。
更可輸入「$env:path = $env:path + ";d:\scripts"」,直接把「d:\scripts」這個路徑加進PATH設定最後一行。
"dot sourcing"可將選定腳本的變數及值,存在記憶中並對之後的腳本開放。
例如:假設「. c:\scripts\example.ps1」的內容為:
####[example.ps1] Begin####
$A = 5
$B = 10
$C = $A + $B
####[example.ps1] End####
執行後,再輸入「$C」,可得運算結果「15」。或再執行內容只有「$C」的腳本時,可得到相同結果。
若要清除記憶中的C變數值,可輸入「Remove-Variable C」即可。
不先開啟PowerShell環境,直接執行「powershell.exe –noexit 」後加腳本文件路徑、或腳本內容,可直接獲得運算結果視窗。
若想以此用於登錄腳本,可以以下VBScript呼叫:
####[VBScript that calls PowerShell script] Begin####
Set objShell = CreateObject("Wscript.Shell")
objShell.Run("powershell.exe –noexit c:\scripts\test.ps1")
####[VBScript that calls PowerShell script] End####
================================
PowerShell 在網路上有許多教學資源,其實並不難,尤其是對視窗時代前就開始用電腦的朋友,有時候打指令甚至跑巨集可以解決的東西,比翻來移去,按許多滑鼠按鍵更加方便。
好人賴榮樞大師在微軟TechNet有一系列主筆的專欄,是使用PS必讀的文件:
- Windows PowerShell 講座 (1)—指令、重導、別名
- Windows PowerShell 講座 (2)—自訂工作環境
- Windows PowerShell 講座 (3)— PS 磁碟機
- Windows PowerShell 講座 (4)— 變數
- Windows PowerShell 講座 (5)—儲存資料的其他方式及編寫指令碼的前置準備
- Windows PowerShell 講座 (6)— 運算子(上)
- Windows PowerShell 講座 (7)— 運算子(下)
- Windows PowerShell 講座 (8)— 迴圈與流程控制
- Windows PowerShell 講座 (9)— 模組化
- 易學易用的 Windows PowerShell
- 賴大師擔任板主的微軟技術社群討論區Windows PowerShell板
另外,微軟官方也有許多其他資源:
- 指令碼中心 / 學習園地 的 Windows PowerShell 專頁(中文)
- 線上使用手冊(英文版)
- 依照功能需求分類介紹的教學(簡單的英文):Windows PowerShell Cmdlet 實務指南
- 許多(六千多筆)高手寫好的指令等著你去找來用:Windows PowerShell 範例指令碼存放庫
- 網友TYPE提供的PowerShell 語法說明/範例教學
- 高手 James O'Neill 在MSDN提供的影像EXIF資料存取模組
- Jamesone部落格的PS分類,以及關於上述模組的說明及運用:
- GPS, and other kinds of Picture tagging with PowerShell - 2010/07/01
- Exploring the IMAGE PowerShell Module - 2010/07/05
- Working with the image module for PowerShell; part 3, GPS and other data - 2010/07/07
- 其他一時手邊找沒有,還有很多熱心人士提供過實用教學及範例
賴榮樞大師在微軟TechNet 點進去消失惹
回覆刪除very good
回覆刪除