Osk
2022-03-06 00:50:51 +08:00
powershell 背靠 .net, 强大, 补全强大, 但是那语法真的是... 奇怪.
Windows 上 powershell 是真的强, 系统管理等用途简直是神器.
我自己用 powershell 偶尔写一些小工具, 比如一键设置针对某个程序的防火墙规则什么的.
有段时间我要用 hyper-v 来测试虚拟机, 用 powershell 做了个脚本一键克隆虚拟机模板 (一个准备好的 vhdx + json 记录模板信息), 用起来很方便了.
不过就算如此, 我还是想说 powershell 语言语法本身没有啥非用不可的特性, 我用它的原因很大一部分是它背靠 .net, 一堆 api 和 cmdlet 可以直接调用, 如果没有这些, 谁用它...
也就是说某种意义上的生态良好.
另外, 想对 powershell 和 .net 的差评就是, 不能 portable:
写个 .net 工具, 结果 Win 7 带 .net 3.5, Win 8+ 带 4.0+, 就很迷茫. 对于运维中来说, 很糟糕, 你不想现场给破电脑部署 .net 3 或者 .net 4.
powershell 也是, 写个小脚本, 好强大呀, 几行就搞定了, 结果 Win 7 一跑, 哦豁, ps 版本过低, 这个 cmdlet 没有, 那个也没有. 用 Win 7 的 ps 版本做基础开发? 算了, 还是 cmd 或者 python 吧.
有时候真的不介意最终 exe/dll 文件很大带上运行时库, 但很介意需要运行时装这装那.