iT邦幫忙

0

MIS問題 : 大神們目前寫維運腳本使用powershell或nodejs或python?

請問大神們,目前寫維運腳本使用 powershell 或 nodejs 或 python ?
目前偏好 powershell ,但網路上的文章讓我感覺只會 powershell 很沒前途。

看更多先前的討論...收起先前的討論...
dragonH iT邦超人 5 級 ‧ 2020-08-05 14:12:06 檢舉
powershell 寫得好才是真神人
某位微軟MVP近日才分享許多PowerShell的實用技巧...不要人云亦云,選擇能夠方便解決問題的工具就好,如果都可以,那就選擇自己最習慣且最順手的工具
https://blog.darkthread.net/blog/category/powershell
謝謝 dragonH 、 打狗松鼠 兩位大神的回答 , 有點心安了 !
froce iT邦大師 1 級 ‧ 2020-08-05 14:53:16 檢舉
你在windows當然是powershell...
其他兩個都要裝環境你要怎麼管?
派送整個python還是node的環境?包必要的dll去派發?
到了該補洞的時候我可以跟你說會搞死自己。

linux下這三個就是python要不然就是bash了。

MIS要用當然是得用內建的,要不然很多時候工具你沒得裝。
froce 大神 , 請問您能回答道在下方 ? 想標記您為最佳答案
froce iT邦大師 1 級 ‧ 2020-08-05 15:11:48 檢舉
不用給我,我的積分已經夠我在這論壇用了,給下面有回答的就行。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
舜~
iT邦高手 1 級 ‧ 2020-08-05 14:44:13
最佳解答

之前聽到有講座老師說 powershell 可以控制微軟作業系統的任何東西~~~

不過不同版本的windows對應的powershell版本會不一樣~~

powershell只是一個工具,不過最順手的工具最好~

看更多先前的回應...收起先前的回應...
dragonH iT邦超人 5 級 ‧ 2020-08-05 14:45:55 檢舉

powershell 我記得已經可以不只在 windows 上了

參考

froce iT邦大師 1 級 ‧ 2020-08-05 14:54:26 檢舉

powershell 我記得已經可以不只在 windows 上了

可以啊,只是都得另外裝,所以我不覺得微軟發展這個有啥前途...

謝謝大神們的回答!

dragonH iT邦超人 5 級 ‧ 2020-08-05 15:24:00 檢舉

可以啊,只是都得另外裝,所以我不覺得微軟發展這個有啥前途...

應該就是推廣吧XD

0
tombo
iT邦高手 1 級 ‧ 2023-08-02 16:02:01

我個人目前比較熟悉的工具就是Powershell ,所以也沒啥好選擇的,重學一門語言都要花不少時間。

Powershell 雖然號稱可以跨平台,但對於一些指令的相容度是不同的,尤其是系統相關的東西
我會使用 Powershell 呼叫 Linux 上的工具來達成目標,而不是用純粹的 Powershell Cmdlet

資料庫部分,我在Windows 平台上可以用 sqlcmd 或是 Native Client 連接
抓取 IIS Log ,經過時間轉換、存入SQL資料庫(Bulk Copy)
但是在 Linux 平台上,只能使用 SqlServer Module

爬站可以使用 Selenium,寫過一些下載特定漫畫網站的圖片,以及自動化操作 Synology NAS 的工具
寫過下載串流 .ts,呼叫 ffmpeg 合併成 mp4
可以透過 gmail 發送郵件或是呼叫 Google Text to Speech API 將文字轉成 mp3
也可以讀取 Synology LDAP Server
還可以透過 posh-ssh module 去管理 Fortigate Firewall

包過 Container ,單純運行 pwsh 7,感覺效益不大。
目前在玩 powershell script 當成 apache2 cgi 運行,包在 docker container 裡面,可以 get/post data,讀取MS資料庫(目前有些小問題),可以 Invoke-WebRequest 或是 Invoke-RestMethod...
Powershell 本身雖然可以使用 [System.Net.HttpListener]::new() 來啟用監聽 80 Port
但是要自己處理多工問題就很麻煩。
網路上有 Ironsoftware Powershell Universal 可以寫 Script 定時執行,或是簡單的 API ,但感覺實用性不大(沒辦法做到互動Get/Post Data),而且要錢(免費功能有限)。(已經包好成 Container)
WebJEA開源軟體需要搭配 IIS,IIS 又不能包成跨平台的 Container 所以就不考慮了

如果只是單純要在 Linux 上運行,我會建議還是去學 Shell Script 比較實在,因為Powershell 效率沒有比 Shell Script 好。(不過在 Linux 上用 Shell Script 寄送郵件,要自己處理格式問題,挺麻煩的),不像 Powershell 那麼簡單

我要發表回答

立即登入回答