神马软件站
首页 > 专栏脚本 > PowerShell
PowerShell实现在多个文件中检索关键字功能
PowerShell实现在多个文件中检索关键字功能
这几天在看Powershell,感觉挺强大的,一个小任务,是用powershell实现多个文件中检索万行记录的脚本。刚开始想用用Get-Content 结合Where-Object来实现,发现检索的结果太慢,而且检索的条目显示出来后不知道来自哪个文件,这个虽然也容易实现,但是经过对...

11-11

Python中调用PowerShell、远程执行bat文件实例
Python中调用PowerShell、远程执行bat文件实例
python调用本地powershell方法 1、现在准备一个简陋的powershell脚本,功能是测试一个IP列表哪些可以ping通: 复制代码 代码如下: function test_ping($iplist) { foreach ($myip in $iplist) { $strQuery =...

11-11

PowerShell脚本实现检测网络内主机类型
PowerShell脚本实现检测网络内主机类型
最近一直在写一个自动检测网络内主机类型的脚本。基本功能可以实现判断主机操作系统类型,如果是域内的主机可以获取主机的硬件参数和性能参数,并判断是否存在网络设备。对一个运维人员来说往往需要尽快熟悉一个陌生的网络。所以这个脚本就很方便了,如果有...

11-11

在cmd中直接运行PowerShell脚本文件的方法
在cmd中直接运行PowerShell脚本文件的方法
以前在cmd中执行powershell,我们都是这样: 复制代码 代码如下: PowerShell.exe -file a.ps1 现在想在cmd中这样执行: 复制代码 代码如下: a.ps1 此时需要将Powershell脚本的默认打开方式选择为Powershell.exe,可以鼠标右键操作。 也可以使用下面的cmd以管...

11-11

PowerShell查看进程的所属用户
PowerShell查看进程的所属用户
适用于所有Windows PowerShell 版本 查看一个特定进程的所有者用户是谁,有多少个改进程的实例,可以尝试下面的代码: 复制代码 代码如下: $ProcessName = 'explorer.exe' (Get-WmiObject -Query...

11-11

Powershell读取本机注册表中的所有软件关联扩展名
Powershell读取本机注册表中的所有软件关联扩展名
适用于所有版本。 下面代码输出极为密集,这段代码能从注册表获取所有软件的关联扩展名。 复制代码 代码如下: Get-ItemProperty Registry::HKCR\.* | Select-Object -Property PSChildName, '(default)', ContentType, PerceivedType 注意搭配命令使用:这里...

11-11

Powershell截取字符串并添加省略号的例子
Powershell截取字符串并添加省略号的例子
限制字符串大小 支持所有版本。 确保你输出的字符串不会过长,当字符串超过你指定的长度你可以用下面办法将其缩短。 复制代码 代码如下: if ($text.Length -gt $MaxLength) { $text.Substring(0,$MaxLength) + '...' } else { $text }...

11-11

Powershell使用C#实现缩写路径
Powershell使用C#实现缩写路径
支持2.0及以后版本。 某些时候报表中的路径字符串是非常长的。如果需要你也可以缩写它,但是这样路径就失去的使用价值。最好是使用内置的API它可以灵活的缩略路径。 接下来要告诉你如何在Powershell脚本中使用C#代码: 复制代码 代码如下: $newType = @' usi...

11-11

PowerShell中iso8601格式日期和DateTime对象互转实例
PowerShell中iso8601格式日期和DateTime对象互转实例
一、iso8601格式转换成DateTime对象 这里主要用到datetime的静态方法static datetime ParseExact(string s, string format, System.IFormatProvider provider) 复制代码 代码如下: $dateTimeStr = '20141231T23:59:59' $format = 'yyyyMMddTHH:mm:ss' $forma...

11-11

Powershell中显示隐藏文件的方法
Powershell中显示隐藏文件的方法
支持PS3.0及以后版本。 当你使用 Get-ChildItem 检索文件,默认是不显示隐藏文件的。 要包含隐藏文件,请使用 –Force 参数。 复制代码 代码如下: PS Get-ChildItem -Path $home -Force 如果只需要显示隐藏文件,可以使用参数-Hidden ,但它只支持PS3.0。 复...

11-11

PowerShell操作Excel、CSV详细介绍
PowerShell操作Excel、CSV详细介绍
Powershell针对Excel的一些简单操作 稍微高级点的语言都会涉及到对COM对象的操作,作为微软自己进化的脚本语言,powershell有这个功能一点不稀奇,首先它使用 .NET Framework 提供的强大类库,很多特性和C#相似;其次,虽然作为脚本但它面向对象。使用powers...

11-11

PowerShell中实现播放WAV音频文件
PowerShell中实现播放WAV音频文件
适用于所有PowerShell版本 其实在PowerShell中播放WAV文件非常简单: 复制代码 代码如下: # 在Windows 目录找到一个可用的WAV音频文件 $WAVPath = Get-ChildItem -Path $env:windir -Filter *.wav -Recurse -ErrorAction SilentlyContinue | Select-Object -...

11-11

PowerShell实现获取进程所有者
PowerShell实现获取进程所有者
适用于PowerShell 3.0或者和更高版本。 Get-Process 能够获取当前运行的所有进程的列表,但是它不会返回进程的所有者信息,如果在PowerShell查询进程的所有者信息,我们需要调用WMI服务。下面给出一个例子。 复制代码 代码如下: filter Get-ProcessOwner { $...

11-11

Powershell中打开网页实例
Powershell中打开网页实例
适用于所有版本。 当你打开网站开始一天新的工作时,Powershell可以让这变得更方便,下面有几种打开网页的方式: 当你使用Start-Process你可以指定浏览器和带上URL参数: 复制代码 代码如下: # starts with a specific browser Start-Process -FilePath iexp...

11-11

Powershell实现按类型排序
Powershell实现按类型排序
适用于所有版本。 Sort-Object可以单独解决您的排序问题,如果是原数据,就可以直接使用管道,如果是对象类型,也可以指定一个排序属性: 复制代码 代码如下: # sorting primitive data 1,5,2,1,6,3,12,6 | Sort-Object -Unique # sorting object data Get-C...

11-11

PowerShell ISE自动化简单示例
PowerShell ISE自动化简单示例
PowerShell ISE的自动化不依赖与任何第三方的框架和工具,因为PowerShell ISE本身就是可编程的。非常高大上地被称作为PowerShell抽象语法树,其实在之前的一篇文章中有简单分享过。关键点在于$PSISE变量。 今天再来看两行更加单的例子: 我想输出PowerShell...

11-11

PowerShell中改变F1帮助文档命令获取方式为在线文档的方法
PowerShell中改变F1帮助文档命令获取方式为在线文档的方法
适用于PowerShell或者更高版本 从PowerShell 30开始,Powershell本身并没有捆绑帮助文档。用户得使用命令 Update-Help来更新PowerShell的帮助文档,将它下载到本地受保护的PowerShell文件夹。之所以说是受保护,是因为常规用户不能执行更新命令。 下次,你想...

11-11

Powershell中Finally语句用法示例
Powershell中Finally语句用法示例
在之前的小技巧中,我们曾经引入过,一个有声的进度条。在PowerShell正在做某项忙碌的任务时,可以一直让它播放某段音乐。代码如下: 复制代码 代码如下: # 在windows 文件夹下面找到要给可用的wav音频文件 $WAVPath = Get-ChildItem -Path $env:windir -Fil...

11-11

Powershell ISE的抽象语法树编程示例
Powershell ISE的抽象语法树编程示例
有一个让我非常喜欢Windows PowerShell ISE的理由,就是它将它的基础脚本对象模型暴露给用户,这样就允许用户按照自己的方式和需要去自定义脚本体验。 自定义ISE的核心是$psISE对象。$psISE对象允许用户去控制ISE许多方面的功能。你可以从这里获取关于$psISE...

11-11

Powershell实现从注册表获取用户配置脚本分享
Powershell实现从注册表获取用户配置脚本分享
支持所有版本。 要获得本地用户的配置文件,可以使用这个脚本: 复制代码 代码如下: $path = 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\*' Get-ItemProperty -Path $path | Select-Object -Property PSChild...

11-11

Powershell实现从注册表获取本地关联文件的扩展名
Powershell实现从注册表获取本地关联文件的扩展名
适用于所有版本。 在先前的技巧中我们知道如何用一行命令获取多行注册表记录,这里,我们再来回顾下这段代码: 复制代码 代码如下: $lookup = Get-ItemProperty Registry::HKCR\.[a-f] | Select-Object -Property PSChildName, '(default)', ContentType, Pe...

11-11

Powershell脚本中包含文件资源的例子
Powershell脚本中包含文件资源的例子
Powershell3.0及以后版本。 如果你的脚本需要添加额外资源,比如文本中的服务器名、图片名等等,这时你需要考虑脚本的灵活性。 不要使用绝对路径去指派你的资源路径,在Powershell3.0中可以使用$PSScriptRoot替代你的脚本路径(不支持2.0) 复制代码 代码如...

11-11

Powershell中阻止”确认提示”的方法
Powershell中阻止”确认提示”的方法
适用于所有版本。 某些命令在执行时会自动提示用户再次确认,这可能会带来一些问题在无人执行脚本的时候。 要阻止弹出确认提示,需要设置-Confirm为false,如: 复制代码 代码如下: Remove-ADGroupMember -Identity 'Domain Admins' -Members user12 -Confirm...

11-11

PowerShell中实现混淆密码示例
PowerShell中实现混淆密码示例
适用于PowerShell 3.0或者更高版本, 尽管我们并不推荐将密码硬编码在脚本文件中,但是仍旧有一些场景非如此不可。与将密码以一种纯文本的方式硬编码相比,我们还可以稍微花点心思,把密码混淆一下。虽然混淆密码是一种非常低级的保护方式,但是对于不懂Powe...

11-11

用PowerShell代替批处理吧!
用PowerShell代替批处理吧!
PowerShell应当已经名正言顺地成为批处理(Cmd.exe shell脚本)的替代者了,但是因为一些原因,许多人都不是很情愿抛弃批处理。这篇文章将作为一个系列文章的开始帮助你打破批处理的习惯,向PowerShell进军。 在我进入这些文章系列之前,我想先稍微讲述一下...

11-11

 1 2 3 4 5 6 7 8 9 10..17>
返回顶部