`
thecloud
  • 浏览: 880185 次
文章分类
社区版块
存档分类
最新评论

PowerTip of the Day from powershell.com上周汇总(五)

 
阅读更多

对输入参数进行集合验证

Validate Set of Inputs

http://powershell.com/cs/blogs/tips/archive/2010/08/18/validate-set-of-inputs.aspx

限制输入的参数只能是指定一个集合里面的成员:

function Get-24hEventLogEntries {

param(

[String]

[ValidateSet('System','Application')]

$LogName='System',

[String]

[ValidateSet('Error','Warning','Information')]

$EntryType='Error'

)

Get-EventLog -LogName $LogName -EntryType $EntryType -After ((Get-Date).AddDays(-1))

}

这个函数是用来查看系统日志的,带有两个参数,其中LogName只能接收两个值,SystemApplication-EntryType只能接收ErrorwarningInformation三个值。如果输入的参数不在指定的集合中,那么会提示错误。

另,这个方法只在powershell2.0版本中可用,1.0版本调试无法通过。

定义属性简称

Defining Alias Properties

http://powershell.com/cs/blogs/tips/archive/2010/08/19/defining-alias-properties.aspx

有时候参数名很长,调用起来很麻烦,但是可以将很长的参数名定义一个简短的简称,比如如下代码,给参数名ComputerName定义了一个简称CN

function Get-BIOSInfo

{

param([Alias("CN")]$ComputerName = ".")

Get-WmiObject Win32_BIOS -ComputerName $computername

}

这样调用起来既可以这样:

Get-BIOSInfo -ComputerName .

也可以这样:

Get-BIOSInfo -CN .

根据参数名查找Cmdlets

Finding Cmdlets With a Given Parameter

http://powershell.com/cs/blogs/tips/archive/2010/08/17/finding-cmdlets-by-name-is-easy.aspx

根据名字查找是很容易的:

Get-Command *service* -commandType Cmdlet

如果要根据参数名来查,最简单的就是使用parameter参数:

Get-Command *service* -commandType Cmdlet -parameter computer

(为便于理解,以上代码跟原文略有不同)

或者,可以使用Get-Command,并且自己定义一个filter来实现:

filter Contains-Parameter

{

param($name)

$number = @($_ | % { $_.ParameterSets | % { $_.Parameters | ? { $_.Name -eq $name}}}).Count

if ($number -gt 0)

{

$_

}

}

使用方法:

Get-Command | Contains-Parameter 'list'

后者主要为了演示如何定义一个filter

删除所有IECookies

Removing All Internet Explorer Cookies

http://powershell.com/cs/blogs/tips/archive/2010/08/16/removing-all-internet-explorer-cookies.aspx

很简单:

Dir ([Environment]::GetFolderPath("Cookies")) | del –whatif

正式跑的时候记得把whatif去掉。

(不明白老外类似示例代码为什么最近这么爱用whatif)

限制参数个数

Limiting Number of Arguments

http://powershell.com/cs/blogs/tips/archive/2010/08/20/limiting-number-of-arguments.aspx?CommentPosted=true#commentmessage

原文代码有处错误,正确的应该是:

function Add-Users {

param(

[ValidateCount(1,3)]

[String[]]

$UserName

)

$UserName | ForEach-Object { "Adding $_" }

}

调用方法:

Add-Users -UserName "shanpao","baichi","kele"

三个以内的参数按照定义来说都是允许的,如果超过了,比如上面的字符给四个,那么就会报错。

用法很像之前的ValidateSet

以上来自powershell.com

2010年八月份16日到20日的PowerTip of the Day

---------------------------------------------------------------

来自博客园aspnetx

分享到:
评论

相关推荐

    jQuery工具提示插件PowerTip.zip

    PowerTip 是一个强大的 jQuery 工具提示插件,支持多种定位,支持跟随鼠标位置提示以及固定位置提示。 标签:PowerTip

    R61580_Rev0.00_20081016_powertip.pdf

    R61580_Rev0.00_20081016_powertip.pdf

    Powertip-PC1604A:Powertip 16x4 字符 LCD Python 脚本

    用于 Powertip PC1604A (16x4) 字符显示的演示 Python 脚本 完全基于但修复了 4 行和 GPIO 清理 不要忘记在“def init ”中设置 GPIO 引脚。 引脚排列 + 5k 锅 PC1604 | RPi ----------------------------------...

    v2ex.ext-crx插件

    消息提醒changelog:2015-03-21: 0.2.7 添加提醒2014-11-09: 0.2.4 添加产看 at他的所有回复的功能2014-05-30: 0.2.2 修复 powertip 中一行文字太长不会自动换行的问题2014-05-30: 0.2.1 把只看放到时间右边2014-05-...

    0017音乐播放器(1)AdobeXD源码下载设计素材UI设计.xd

    0017音乐播放器(1)AdobeXD源码下载设计素材UI设计

    这是我为某科技创新大赛所做的作品,一个残疾人鼠标,用头操纵。.zip

    这是我为某科技创新大赛所做的作品,一个残疾人鼠标,用头操纵。

    Company_Responsive_Landing_PageAdobeXD源码下载设计素材UI设计.xd

    Company_Responsive_Landing_PageAdobeXD源码下载设计素材UI设计

    案例中用到的nobel-prizes.csv文件

    案例中用到的nobel-prizes.csv文件

    python啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

    就是要流量 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊大家多给评论 点赞 关注啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

    基于Opencv的车牌识别系统.zip

    基于Opencv的车牌识别系统.zip

    电影票预定APP界面UI设计XD源文件 列表页可参考AdobeXD源码下载设计素材UI设计.xd

    电影票预定APP界面UI设计XD源文件 列表页可参考AdobeXD源码下载设计素材UI设计

    mqtt-client-Vue.js.zip

    微信小程序Demo-mqtt-client-Vue

    原创算法竞赛题目,毒瘤题,并不适合OI和ACM.zip

    原创算法竞赛题目,毒瘤题,并不适合OI和ACM

    20212123072-周欣怡-软工1班-实验4.docx

    20212123072-周欣怡-软工1班-实验4.docx

    node-v16.13.2-darwin-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    DA14531-蓝牙传感器固件开发

    名称 范围 默认参数 系统 ①低功耗系统 ②非低功耗系统 ① 功耗 不广播状态 1uA 广播状态200ms 0.14mA 广播配置 广播间隔时间: 间隔广播(20ms-2000ms) 200ms 广播数据: 设备名称 “Sensor” 制造商数据: FF 前两字节公司ID FFC1 A数据(uint16_t) 1001 B数据(uint16_t) 2001 C数据(uint16_t) 3001 D数据(uint16_t) 4001 E数据(uint16_t) 5001 F数据(uint16_t) 6001 G数据(uint16_t) 7001

    专业实习-三创赛.zip

    专业实习-三创赛

    计算机安全技术:保护网络、数据和身份的有效手段

    本文介绍了计算机安全技术中的网络安全、数据安全和身份认证等方面的内容,帮助读者更好地了解如何保护自己的信息和隐私。 内容概要:本文介绍了网络安全、数据安全和身份认证等计算机安全技术的相关内容,包括防火墙、VPN、数据备份、访问控制、用户名和密码、双因素身份认证和生物识别技术等。这些技术可以保护我们的网络、数据和身份安全,防止未经授权的访问和窃取。 使用人群:所有使用计算机的人群,尤其是企业、政府和个人等领域的用户。 内容关键词:网络安全、数据安全、身份认证、防火墙、VPN、数据备份、访问控制、双因素身份认证、生物识别技术。 用途:帮助读者了解计算机安全技术的相关内容,提高安全意识,采取有效的安全措施,保护自己的信息和隐私。

    语音模块使用说明_jr6001调试工具.html

    语音模块使用说明_jr6001调试工具.html

    堆排序12.java 使用java代码实现

    算法 堆排序12.java 使用java代码实现 堆排序12.java 使用java代码实现 堆排序12.java 使用java代码实现 堆排序12.java 使用java代码实现 堆排序12.java 使用java代码实现堆排序12.java 使用java代码实现堆排序12.java 使用java代码实现堆排序12.java 使用java代码实现堆排序12.java 使用java代码实现堆排序12.java 使用java代码实现堆排序12.java 使用java代码实现堆排序12.java 使用java代码实现堆排序12.java 使用java代码实现堆排序12.java 使用java代码实现堆排序12.java 使用java代码实现堆排序12.java 使用java代码实现堆排序12.java 使用java代码实现堆排序12.java 使用java代码实现堆排序12.java 使用java代码实现堆排序12.java 使用java代码实现堆排序12.java 使用java代码实现堆排序12.java 使用java代码实现堆排序12.jav

Global site tag (gtag.js) - Google Analytics