PowerShell中Get-Credential不提示输入密码的方法
因为我很多时候在工作组模式下执行操作,所以远程管理其它主机时,必须要输入凭证信息。一般都会用到Get-Credential来弹出提示框而输入密码。
比如:
$c=Get-Credential -Credential DBA_User
Get-WmiObject -Credential $c -Class Win32_LogicalDisk -ComputerName 10.0.0.10
只查询一台远程主机还好,查询很多台主机,就要输入好多次密码。有点麻烦!
于是我就想能不能把用户名和密码保存起来,直接调用。还是有方法的:
$uname="DBA_User"
$pwd=ConvertTo-SecureString "My_Pwd" -AsPlainText -Force;
$cred=New-Object System.Management.Automation.PSCredential($uname,$pwd);
Get-WmiObject -Credential $cred -Class Win32_LogicalDisk -ComputerName 192.168.1.111
PowerShell中所有东西都是对象。当然Get-Credential也不例外。先实例化一个它的对象,在后面调用就可以了。
只是要这里说明的是,密码必须转成SecureString才可以。
-------------------------------------
作者:Joe.TJ
Joe's Blog:http://www.cnblogs.com/Joe-T/
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步