Microsoft PowerShell & Scripts | 收集有用的脚本

cmd2ps-logo

        PowerShell 已经发布很多年,可以追溯到 2006年,首次面向 Windows XP/Server 2003 发布,距今已经近 20年,现在已经发展成为一种跨平台的任务自动化解决方案,除了面向 Windows 以外,还提供了很多微软模块的支持,例如:Azure,Exchange,SQL 等等!我们几乎可以在任何微软产品或服务中看到它的身影,甚至一些第三方产品,如 AWS、VMware、Google Cloud!它已经成为 IT 专业人员必须掌握的一门脚本语言,我们还可以在 Linux 或 MacOS 安装和使用它。当前最新的正式版本是 PowerShell 7.5,基于 dotNET 9;此外 PowerShell 7.6 Preview 也已经发布,如果感兴趣可转向 "What is PowerShell" 获取更多有关 PowerShell 的资讯。

        而今天 gOxiA 要与大家分享的是近期手搓的一个项目 CMD-PowerShell-Converter,主要便于自己快速查询一些 CMD 到 PowerShell 的基本命令行的使用,它是一个现代化的 Web 应用程序,用于在 CMD 和 PowerShell 命令之间进行转换,主要提供以下功能和特性:

双向转换
  • CMD → PowerShell: 将传统CMD命令转换为现代PowerShell等价命令
  • PowerShell → CMD: 将PowerShell命令转换为CMD命令
  • 智能检测: 自动识别输入的命令类型
智能建议
  • 提供相关命令建议和示例
  • 显示参数说明和用法
  • 常用命令快速访问
现代化界面
  • 响应式设计: 支持桌面、平板和手机
  • 主题切换: 明亮、深色、自动模式
  • 直观布局: 左右分屏,类似翻译界面
  • 快捷操作: 一键交换、复制、清空
PWA功能
  • 离线使用: 完全支持离线操作
  • 应用安装: 可安装到设备,如原生应用
  • 快速启动: 优化的缓存策略
  • 跨平台: 支持Windows、macOS、Linux、Android、iOS
数据管理
  • 历史记录: 自动保存转换历史
  • 本地存储: 使用IndexedDB安全存储
  • 数据导出: 支持备份和恢复
  • 自定义规则: 可添加个人转换规则

cmd2ps-mainscreen

该 Web 程序已发布在 Github 上,项目地址:https://github.com/goxia/Codes/tree/main/CMD-PowerShell-Converter,感兴趣的朋友可以自行完善

推荐官方文档:

Getting started with PowerShell | Microsoft Learn

[PS]使用 PowerShell 下载文件

[ 2014/02/24 13:05 | by gOxiA ]

powershell_logo

使用 PowerShell 下载文件

        前段时间部署了一个基于 Windows Server 2012 R2 的 Server Core 环境,在实际使用中会遇到需要从网站上下载文件的问题,因为 Server Core 并未提供 IE,所以下载就不是那么方便了。还好在 PowerShell 下可以调用 System.Net.WebClient 来实现下载。即:

$client = New-Object “System.Net.WebClient”

$client.DownloadFile(“http://www.maytide.net/info.txt”,”D:\info.txt”)

        虽然上述的脚本实现了从一个 URL 下载文件到本地,但是实际调用起来会感觉很麻烦。因为每次都要输入很长的脚本命令才能完成一个下载。gOxiA 在编程方面也没什么天赋,实属一菜鸟,参考了以前的脚本写了一个粗糙的下载脚本,其功能是执行脚本后提示输入 URL 的地址,然后再输入本地存储的文件路径,最后执行下载,并根据结果判断是否下载完毕。

        脚本中涉及了一些基本的命令代码,其中 Write-Host 用于输出提示文本;Read-Host 用于记录用户输入的数据;调用下载、下载地址、本地存储都使用变量,最后用 Test-Path 对下载的文件进行检查,并使用 if...else 进行判断。下面就是整个脚本的内容:

#清屏
Clear
#脚本基本信息提示
Write-Host
Write-Host PowerShell Download Tools Script.
Write-Host
#输入下载资源地址,赋予变量 $url
Write-Host Please enter URL address of download sources! -ForegroundColor Red
$url= Read-Host "Enter the URL..."
Write-Host
#输入文件存储路径,赋予变量 $local
Write-Host Please enter the local store path! -ForegroundColor Green
$local= Read-Host "Enter the store path..."
#调用下载,赋予变量 $dl
$dl= New-Object "System.Net.WebClient"
#执行下载
Write-Host
Write-Host Downloading... Please wait!!!
$dl.DownloadFile("$url","$local")
Write-Host
#将路径检查命令赋予变量 $result
$result=Test-Path $local
#对 $result 结果进行判断,如果是 True 表示下载完成,否则失败
if($result -eq $True)
{
    Write-Host Result status: Completed!!! -ForegroundColor Green
}
else
{
    Write-Host Result status: Failed!!! -ForegroundColor Red
}

        执行效果如下图:

image

ScriptingGuy 使用 VBScript 让计算机讲出你想说的话

        gOxiA 对 Scripts 和其他开发语言都并不熟悉,这段脚本程序也是从新浪微博上转过来的,转载率非常之高,到底是因为什么引人关注呢?!将下面这段脚本命令输入到记事本中,并存储为 vbs 扩展名,打开音箱或带上耳机,最后双击运行。

CreateObject("SAPI.SpVoice").Speak "I Love You"

        Yeh,你将会听到一段计算机语音朗读出“I Love You”,是不是很有意思。简单的一段命令便能够让计算机讲出你想说的话,看来还是很有使用价值的。

        这段脚本其实是使用了 Windows API 来调用了“Windows 讲述人”功能,Microsoft 为我们提供了强大的接口能够让我们利用 Windows 的功能实现更多的应用!而且利用脚本我们能高效的完成很多工作!

        Microsoft Scripts Center 提供了非常有价值的脚本学习资料,如果你有兴趣不妨学习学习!也许你也能利用 Windows 搞出来有意思的应用或提高你的工作效率。

Tags: ,
分页: 1/12 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]