iT邦幫忙

0

Windows PowerShell 有用過的人可否大概講解一下功能及特性之類的

  • 分享至 

  • xImage

Windows PowerShell 有用過的人可否大概講解一下功能及特性之類的

可以參考Alexc 大大寫的一系列文章
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

14
ingted
iT邦新手 5 級 ‧ 2010-09-13 12:03:06
最佳解答

從2007用到現在,歷經1.0 CTP3 2.0 WinRM

  1. 輕易的整合C#/F#的優點,如果平時開發的時候重視模組化,只能說從你第一個做出來的模組會不斷的使用到永遠XD所以開發快速且可以輕易使用非常多的API以及函式庫!

  2. 無敵的PIPELINE:透過%和?(FOREACH-OBJECT / WHERE)可以用極短的code把任務處理完成,簡潔有力。

  3. iex(invoke-expression)可以輕易達到許多泛形/樣板的效果。

  4. transact交易處理,方便資料庫或檔案系統的處理。

  5. batch背景執行:用於控制數千台的grid節點再方便不過

  6. 簡便的winform或者WPF開發:不需要compile也可以用簡短的code寫出漂亮的視窗程式

  7. PowershellASP:可以透過IIS建立非常複雜的web service,用在自動化(automation)或者智慧型代理人web app都非常方便

  8. vSphere ESX等自動化管理:包含流程自動化/異狀自動偵測

  9. 太多了!!!

歡迎切磋~~~~

看更多先前的回應...收起先前的回應...
klm2242 iT邦研究生 1 級 ‧ 2010-09-14 08:38:46 檢舉

有相關連結可供參考的嗎??基本上,這大都使用在那裡啊??不好意思,因為我對這東西沒有什麼概念~~

Ray iT邦大神 1 級 ‧ 2010-09-14 09:42:21 檢舉

klm2242提到:
基本上,這大都使用在那裡啊??不好意思,因為我對這東西沒有什麼概念~~

用在系統管理上....

其實管過 Unix 的人, 就會知道這東西的好用. 因為有很多管理上的需要, 系統沒有提供相對應的指令, 只能靠人工一件一件去執行, 不但非常沒有效率, 對於重複性的工作也容易出錯.

所以, 在 Unix 時代, 就已經有 Shell 的指令, 可以讓管理者自己寫簡單的程式, 用於管理事務的自動化.

這個觀念雖然從 CP/M 一直延伸到 DOS, 但是卻沒有把整個 Unix Shell 的強大功能也一併移植過來, 僅提供了不到千分之一的能力, 使得不論是 DOS 或是後來的 Windows, 在管理自動化方面, 都輸 Unix 一大截.

現在 PowerShell 就是要補足這個斷層.

sula3065408 iT邦研究生 1 級 ‧ 2010-09-14 18:02:48 檢舉

就是可以讓命令串接命令,自動完成某些事情,不需要在GUI上一個一個點擊。

比如說新增、設定帳號,一個人使用GUI沒問題,十個人,有點累,百人、千人、萬人等著改,難道要加班嗎?

又比如說每個月都要寫File Server的容量報告使用情況,難不成你是一個資料夾,一個資料夾的翻有沒有違規的檔案,然後再把總容量及目前使用容量抄下來用WORD打一個美美的報告呈出去嗎?
把命令串一串做報表,時間到自動發信件出去不是樂的輕鬆嗎?

一堆例子可以告訴你,那個是拿來讓你把生命留給家人,不是無腦的拿去燒掉用的。

話說SERVER上管過Unix的寧願搬出cygwin之類的東西用,PowerShell還是弱了點,而且人老了學新的東西也慢了,還要浪費之前寫的程序很可惜,再說相似的功能何必學兩套浪費生命呢,而且還是要多學不夠強壯的那一套。

在windows上大多數的軟體以GUI為基礎開發,導致在命令模式下參數跟屁一樣,就算PowerShell補了一點點功能上去,很多命令還是不存在(如sg-utility),要花錢買都有找誰買的問題,不是補上了shell的功能就好,開發者的習慣導致windows上的環境不利於命令模式下的操作(有可能是Windows-shell孱弱,導致開發者寫程式大多乾脆忽視命令模式下的支援,因果關係有待證實),最後windows系統上大多數的使用者也習慣了凡是靠GUI操作,甚至認為它就是這樣的系統,整天無腦的燃燒生命。

sula3065408 iT邦研究生 1 級 ‧ 2010-09-14 18:09:20 檢舉

power shell 靠 telnet亂恐怖的,SSH真的比較可靠,在命令模式下操作*nix真的比較成熟一點。

klm2242 iT邦研究生 1 級 ‧ 2010-12-24 11:51:28 檢舉

感謝您的回覆,謝謝!

0
tombo
iT邦高手 1 級 ‧ 2023-08-02 17:32:55

簡單來說,可以讀寫檔案 CSV/JSON/XML、監控特定目錄檔案異動、基本的檔案複製、刪除、搬移、更名、更改檔案屬性日期都不是問題
可以讀寫資料庫(SqlServer Module, Native Client, sqlcmd)
可以讀取系統設定、系統資訊(WMI/CIM)、系統事件(Event Viewer),也可以設定 Windows 機碼
可以呼叫外部程式,例如 youtube-dl, ffmpeg, selenium, awk, sed, grep, Open Hardware Monitor .....
可以遠端管理Windows(在遠端電腦執行命令、處理檔案、抓取資訊.....)
也可以呼叫 Shell/cmd 內建指令
可以存取網頁、下載檔案(http/https)、呼叫 Web API (SMS API/Synology Chat API/Linebot/Google Text2Speech/...)
可以讀取 AD/LDAP、發送 Email

ssh, 取得SSL憑證 可以呼叫 module
要寫出 GUI 也是可以https://ithelp.ithome.com.tw/upload/images/20230802/20007088pjpUIXYDcH.jpg

要當成 Web Server CGI 執行也可以

要包到現在流行的 Container 運行也可以

基本上,它是微軟的工具,所以處理 Windows 上的事,都不在話下
就算有不足的地方,也可以透過外部工具去處理(執行 .exe 或是載入 .dll)
也有很多模組可以處理或是使用 .Net C# 的方法處理。

個人是比較偏愛 powershell 而不會想用 cygwin,雖然 awk, sed, grep 這堆小工具都還蠻好用的。

我要發表回答

立即登入回答