创建包含密码的对象时弹出交互式窗口,不利于批量操作,请问怎么解决?


PowerShell交流中心分类: Powershell基础创建包含密码的对象时弹出交互式窗口,不利于批量操作,请问怎么解决?
0
匿名用户 asked 10年 ago

New-AzureHDInsightCluster -name $clusterName -ClusterSizeInNodes 4 -Location $dcLocation -DefaultStorageAccountName $storageName -DefaultStorageAccountKey $myStoreKey -DefaultStorageContainerName $Containername
请站长指点,多谢。

2 Answers
2
Best Answer
strikene answered 10年 ago

尝试构建自定义PSCredential 

 $pw = “zmc–88rr11”
$sec = New-Object SecureString
foreach($item in ($pw.GetEnumerator()))
{
    $sec.AppendChar($item)
}
$Credential = New-Object   System.Management.Automation.PSCredential (“administrator@ilync.cn”,$sec)

   

cls
 
 
 

strikene replied 10年 ago

$pw 为明文密码 实例化SecureString 以及 PSCredential 避免弹窗 但注意密码安全

fywittli replied 10年 ago

实测很好用,多谢!

1
Mooser Lee 管理员 answered 10年 ago

对不起,这条命令没有使用过。不知道你说的密码交互窗口是不是这样的:Get-Credential www@pstips.net,如果是可以参考:
PowerShell 默认参数值

fywittli replied 10年 ago

$PSDefaultParameterValues = @{“Enter-PSSession:Credential” = New-Object Management.Automation.PSCredential “useryyx”, (ConvertTo-SecureString ‘123,com.’ -AsPlainText -Force) }测试有点小问题,New-AzureHDInsightCluster时指定-Credential参数为$PSDefaultParameterValues时提示“无法处理命令,因为一个或多个强制参数丢失”,不指定-Credential参数会弹出窗口提示输入strikene的方案最适合我$Credential = Get-Credential也是一个可选方案谢谢站长

Mooser Lee 管理员 replied 10年 ago

如果默认参数有问题,你就把$Credential 按照1楼strikene的方法保存起来,然后再使用。