Powershell中请求WebServices并以JSON格式输出结果
适用于PS3.0及以后版本。
这里可以用JSON格式从网上得到大量的信息,下面例子演示如何将网上查到的结果转换成JSON对象。
这个例子使用了一个德国铁路公司的网站,你可以输入一个火车站的名字或城市,他将返回你想要去的类似所有车站名称。
# ask for part of the train station name $name = Read-Host 'Enter part of train station Name' # query webservice $url = "http://openbahnapi.appspot.com/rest/stations/list?contains=$name" $site = Invoke-WebRequest -Uri $url # get JSON result ($site.Content | ConvertFrom-Json ).value
这个结果类似如下:
PS> Enter part of train station name: hanno Hannover Hbf HANNOVER MESSE Hannoversch Münden Hannover-Nordstadt Hannover Bismarckstr. Hannover Karl-Wiechert-Allee Hannover-Ledeburg Hannover-Linden/Fischerhof Hannover-Vinnhorst Hannover-Leinhausen Hannover Anderten-Misburg Hannover-BornumPS>
这个例子不是要教你去查询德国铁路,所以如果你对此不感兴趣,可以修改成别的应用:
Invoke-WebRequest是一个重要部分,它包含Web服务返回的结果;同时ConvertFrom-Json 也相当重要,它可以将结果转化成对象。
注意Web服务的处理变化,这里只是一个用例。
Powershell中阻止”确认提示”的方法
适用于所有版本。某些命令在执行时会自动提示用户再次确认,这可能会带来一些问题在无人执行脚本的时候。要阻止弹出确认提示,需要设置-Confirm为
用PowerShell代替批处理吧!
PowerShell应当已经名正言顺地成为批处理(Cmd.exeshell脚本)的替代者了,但是因为一些原因,许多人都不是很情愿抛弃批处理。这篇文章将作为一个系列
Powershell获取系统中所有可停止的服务
适用于PS3.0及以后版本。Get-Service能够显示你电脑上所有已安装的服务。可是没有哪个参数是获取仅运行或停止的服务。配合简单的Where-Object语句,才可