Welcome 微信登录

首页 / 编程脚本

Powershell脚本中包含文件资源的例子

Powershell脚本中包含文件资源的例子

Powershell3.0及以后版本。如果你的脚本需要添加额外资源,比如文本中的服务器名、图片名等等,这时你需要考虑脚本的灵活性。不要使用绝对路径去指派你的资源路径,在Powershell3.0中可以使用$PSScriptRoot替代你的脚本路径(不支持2.0)复制代码 代码如下:$picture = "$PSScriptRootResourcespicture.png"Test-Path -Path $picture$data = "$PSScriptR...
Powershell ISE的抽象语法树编程示例

Powershell ISE的抽象语法树编程示例

有一个让我非常喜欢Windows PowerShell ISE的理由,就是它将它的基础脚本对象模型暴露给用户,这样就允许用户按照自己的方式和需要去自定义脚本体验。自定义ISE的核心是$psISE对象。$psISE对象允许用户去控制ISE许多方面的功能。你可以从这里获取关于$psISE的分层对象模型的介绍,和与这些对象相关联的功能。这篇文章会讨论你怎样利用PowerShell公开提供的解释器接口,来结合ISE对象模型魅力,去创建脚本分析和快速定位的工具。想象...
PowerShell ISE自动化简单示例

PowerShell ISE自动化简单示例

PowerShell ISE的自动化不依赖与任何第三方的框架和工具,因为PowerShell ISE本身就是可编程的。非常高大上地被称作为PowerShell抽象语法树,其实在之前的一篇文章中有简单分享过。关键点在于$PSISE变量。今天再来看两行更加单的例子:我想输出PowerShell ISE 中当前编辑框中的所有脚本:复制代码 代码如下:$psise.CurrentFile.Editor.Text我想将PowerShell ISE中当前编辑框中的所有...
PowerShell中改变F1帮助文档命令获取方式为在线文档的方法

PowerShell中改变F1帮助文档命令获取方式为在线文档的方法

适用于PowerShell或者更高版本从PowerShell 30开始,Powershell本身并没有捆绑帮助文档。用户得使用命令 Update-Help来更新PowerShell的帮助文档,将它下载到本地受保护的PowerShell文件夹。之所以说是受保护,是因为常规用户不能执行更新命令。下次,你想查看没有命令的帮助文档,可以简单地使用在线版本。-Online参数会在浏览器中打开Get-Process命令的在线帮助文档(该操作依赖网络)复制代码 代码如下...
PowerShell检查网卡状态和对应的电源设置

PowerShell检查网卡状态和对应的电源设置

适用于Windows 8.1/Server 2012 R2操作系统。在Windows 8.1和 Windows Server 2012 R2中引入了一些用来管理网络适配器的命令。当你想检查Wifi的连通性,比如你想弄明白为什么远程唤醒不能唤醒你的机器,此时你可能需要查看一下电源管理设置了。看下这行代码吧:复制代码 代码如下:PS> Get-NetAdapterName InterfaceDescription ifIndex Status MacAd...
Powershell展开对象数据结构并以JSON格式输出

Powershell展开对象数据结构并以JSON格式输出

适用于3.0及以后版本。一个对象包含多个嵌套属性和多个子对象。要显示对象的属性和自属性,可以转换成JSON,它可以更好的表示这些潜逃属性。这个例子取回当前的Powershell进程,将其属性转换成JSON,然后再发送给剪切板。现在你就可以剪切到任何文本对象中去了。复制代码 代码如下:Get-Process -Id $pid | ConvertTo-Json | clip.exe要控制获取属性的层级,你可以在ConvertTo-Json中使用-Depth参数...
PowerShell中实现混淆密码示例

PowerShell中实现混淆密码示例

适用于PowerShell 3.0或者更高版本,尽管我们并不推荐将密码硬编码在脚本文件中,但是仍旧有一些场景非如此不可。与将密码以一种纯文本的方式硬编码相比,我们还可以稍微花点心思,把密码混淆一下。虽然混淆密码是一种非常低级的保护方式,但是对于不懂PowerShell的人来讲,还是比较神秘的。接下来的脚本会向用户询问用户名和密码,然后删除通过混淆脚本进行处理,产生用户凭据对象。当你运行了下面的脚本以后,用户凭据已经被保存在$cred。接下来你几乎可以在任何...
Powershell中阻止”确认提示”的方法

Powershell中阻止”确认提示”的方法

适用于所有版本。某些命令在执行时会自动提示用户再次确认,这可能会带来一些问题在无人执行脚本的时候。要阻止弹出确认提示,需要设置-Confirm为false,如:复制代码 代码如下:Remove-ADGroupMember -Identity "Domain Admins" -Members user12 -Confirm:$false或者你可以改变Powershell中的确认安全等级,将所有命令的确认提示关闭:复制代码 代码如下:$ConfirmPrefe...
Powershell中请求WebServices并以JSON格式输出结果

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 webs...
用PowerShell代替批处理吧!

用PowerShell代替批处理吧!

PowerShell应当已经名正言顺地成为批处理(Cmd.exe shell脚本)的替代者了,但是因为一些原因,许多人都不是很情愿抛弃批处理。这篇文章将作为一个系列文章的开始帮助你打破批处理的习惯,向PowerShell进军。在我进入这些文章系列之前,我想先稍微讲述一下关于批处理文件的一些历史和为什么你需要使用PowerShell来代替老风格的批处理代码编写你的脚本。批处理文件的历史批处理文件拥有很悠久的历史了,微机操作系统上的一个CP/M ,拥有可提交的...
Powershell获取系统中所有可停止的服务

Powershell获取系统中所有可停止的服务

适用于PS3.0及以后版本。Get-Service能够显示你电脑上所有已安装的服务。可是没有哪个参数是获取仅运行或停止的服务。配合简单的Where-Object语句,才可以解决这个问题。通常代码如下:复制代码 代码如下:PS> Get-Service | Where-Object Status -eq Running 基本上,Where-Object可以获得对象的任何属性并让你选择所需的条件。如果你计划得到所有可停止的服务,则上面代码将做不到。有些服...
PowerShell中调用WPF生成炫酷窗口实例

PowerShell中调用WPF生成炫酷窗口实例

怎样在PowerShell中调用WPF,你知道,我也知道;怎样在PowerShell中将很长的.NET类型名称缩短成别名,你知道,我也知道。但是怎样将这两个知识点融汇贯通,写出一个优雅的DEMO,并且让你一眼就能看出,这就是WPF,不是别的,也许你以前就知道,而我直到今天才知道,有种相见恨晚的感觉。先看一下炫酷的效果吧!PowerShell之WPF炫酷# Plik: 4_Demo_v3_Reflection.ps1#requires -version 3 ...
PowerShell查询和删除打印任务操作代码实例

PowerShell查询和删除打印任务操作代码实例

适用于Windows 8.1或Server 2012 R2Windows 8.1 和 Server 2012 R2上自带了一个PowerShell组件:“PrintManagement“,它包含了所有管理本机和远程打印机的命令。在之前的小技巧中,我们演示了如何读取打印机任务。每一个打印任务都有一个属性JobStatus ,用来表示该任务是否打印成功。所有的状态可以这样获取:复制代码 代码如下:PS> Import-Module PrintManage...
<< 91 92 93 94 95 96 97 98 99 100 >>