PowerShell函数参数用星号隐藏的方法_PowerShell

本文介绍在PowerShell中创建函数时,如何让函数的参数输入值的时候自动变成星号。

什么叫自动变成星号呢?举个例子,我们在登录一个邮箱时,输入用户时看到的是明文的,但我们在输入密码时,看到的是一个个增加的星号。在使用PowerShell自定义函数时,如何设置才能让输入密码之类的参数时,自己用星号掩盖呢?且往下看。

复制代码 代码如下:

function Test-Password {
    param
    (
    [Parameter(Mandatory=$true)]
    $password
    )
    $plain = (New-Object System.Management.Automation.PSCredential(‘splaybow.com',$password)).GetNetworkCredential().Password
    Write-Host “你输入了: $plain”
}

像上面这个函数,定义了一个必选的$password函数,我们不希望在输入这个参数的值时以明文显示,因为那样很有可能会被旁边的人把密码剽窃。于是我们将代码作一下修改。

复制代码 代码如下:

function Test-Password {
    param
    (
    [System.Security.SecureString]
    [Parameter(Mandatory=$true)]
    $password
    )
    $plain = (New-Object System.Management.Automation.PSCredential(‘splaybow.com',$password)).GetNetworkCredential().Password
    Write-Host “你输入了: $plain”
}

注意,上面在Parameter这个限制语句之前加了一句“[System.Security.SecureString]”,这个修饰语句用于将输入参数设置为安全字符串类型,这样输入这个参数的值时,就会变成星号了。这是一个很有用的技巧,大家不妨试试。

关于PowerShell函数设置输入参数被星号掩盖,本文就介绍这么多,希望对您有所帮助,谢谢!

时间: 2024-12-12 11:30:54

PowerShell函数参数用星号隐藏的方法_PowerShell的相关文章

PowerShell函数参数使用智能提示功能例子_PowerShell

本文介绍在自定义PowerShell函数时,如何设置函数可以智能提示参数值.参数值的智能提示这个功能是在PowerShell 3.0中出现的新功能. 在PowerShell 3.0版本中,出现了一项新的功能,那就是参数值的智能提示.当然,不是随便在哪里都会智能提示参数值,而是只能在ISE中.当然,所谓的ISE就是PowerShell自带的一个集成开发环境. 那么,我们自己在开发一个PowerShell函数时,我们应该怎么设置才能让我们的函数在ISE中也能智能提示参数的值呢?看看下面这个例子. 复

PowerShell函数参数设置为即可选又必选的方法_PowerShell

本文介绍PowerShell自定义函数中使用参数集时,可以将同一个参数既设置为可选,又设置为必选. 好吧,小编承认,这个话题有点无聊,但确实还是有点有趣,不妨看一看啦. 在PowerShell中,我们有可能有这样的需求,如果只需要输入某个参数时,这个参数是可选的.但如果还要输入别的参数,那这个参数就变成必选的了.那么这种需求如何来满足呢?那就是本文的意义所在了. 复制代码 代码如下: function Connect-Somewhere {     [CmdletBinding(DefaultP

PowerShell函数参数设置成自动识别数据类型的例子_PowerShell

本文介绍PowerShell自定义函数中使用参数集时,怎么设置系统自动识别参数的数据类型. 识别参数类型的一个好处就是,在使用参数集时,不需要每次都指定参数名称了. 请看下面这个Test-Binding函数.这个PowerShell函数在设置参数集的时候,为参数集中的第一个参数设置了数据类型,这样在调用函数时,就可以自动判断一个参数值它应该赋给哪个参数了. 复制代码 代码如下: function Test-Binding {     [CmdletBinding(DefaultParameter

PowerShell函数参数指定数据类型实例_PowerShell

本文介绍在PowerShell创建自定义函数时,为必选参数设置强类型有什么好处,应该如何设置. 为了提高必选参数的安全性,PowerShell函数定义的最佳实践告诉我们,要为必选参数设置强类型.这是为什么呢,我们来看一个例子. 复制代码 代码如下: function Test-Me {     param     (         [Parameter(Mandatory=$true, HelpMessage='Enter number of EUROs!')]         $Euro  

PowerShell中给函数参数设置帮助信息的例子_PowerShell

本文介绍在PowerShell创建自定义函数时,如何为必选参数设置帮助信息. 下面这段代码,我们创建了一个test-function的函数.这个函数有一个参数p,它是必选参数.更进一步,我们为这个参数$p设置了一个helpMessage属性,这个属性的意思就是为这个必须参数提供帮助信息.因为是必选参数,所以在不输入值的情况下,函数是不会执行,而会提示为参数输入值的.如果用户不知道应该为这个参数输入什么值,那么这个HelpMessage有可能帮到忙. 复制代码 代码如下: PS C:\Users\

javascript中自定义函数参数添加默认值实现方法

最近在Codewars上面看到一道很好的题目,要求用JS写一个函数defaultArguments,用来给指定的函数的某些参数添加默认值.举例来说就是: // foo函数有一个参数,名为xvar foo_ = defaultArguments(foo, {x:3});// foo_是一个函数,调用它会返回foo函数的结果,同时x具有默认值3 下面是一个具体的例子: function add(a, b) {return a+b;} // 给add函数的参数b添加默认值3 var add_ = de

PowerShell读取文本文件指定行内容的方法_PowerShell

本文介绍一个PowerShell中如何一步到位的获取到一个文本文件的第N行.比如一个文本文件,它有1000行,我想把第500行的内容直接取出来的,最简单的方法是通过PowerShell来实现. 在PowerShell中,可以通过Get-Content这个cmdlet来获取文本文件的内容.Get-Content将一个文本文件读取到一个数组中,每一个数组元素就是文件的一行内容.比如一个文本文件内容如下: 复制代码 代码如下: 111 222 333 那么,使用Get-Content获取到一个数组,数

PowerShell在控制台输出特殊符号的方法_PowerShell

您知道吗,PowerShell控制台也可以输出特殊的图标?而你需要做的只是,设置控制台的字体为TrueType 字体,比如"Consolas". 要显示特殊字符,请使用十进制或十六进制字符代码,例如: [Char]8730 [Char]0x25BA 或着打开系统上内置的应用程序 "CharacterMap" 来选择一个你想在控制台上显示的的符号.下面的例子就是通过这种途径来把PowerShell控制台上的提示符信息变得更加诡异: 或着打开系统上内置的应用程序 &qu

PowerShell脚本实现创建桌面快捷方式的方法_PowerShell

本文介绍如何使用PowerShell将一个程序或文件,创建一个桌面快捷方式.在Windows系统里面,手工操作创建桌面快捷方式是很容易的,您只需要右键拖动文件到桌面,然后放开,在自动弹出的菜单中选择"在此创建快捷方式"即可完成,但要编程来实现这个效果就比较复杂了. 首先,我们要使用到COM组件,创建桌面快捷方式,最简单的办法是调用WScript.Shell这个COM组件.那么在PowerShell如何创建一个COM组件呢? 复制代码 代码如下: $shell = New-Object