首页 > 网络 > 云计算 >

PowerShell登录Azure方法

2017-06-27

我们都知道Azure中国的用户名超长,每次运行脚本登录时都特别心塞,那有没有更方便和安全的验证方式呢?本篇文章我们来探索一下使用PowerShell登录Azure的方式。一、当然是直接使用原始命令与Azure登录界面交互来登录了。二、使用Windows凭据输入界面登录

我们都知道Azure中国的用户名超长,每次运行脚本登录时都特别心塞,那有没有更方便和安全的验证方式呢?

本篇文章我们来探索一下使用PowerShell登录Azure的方式

一、

当然是直接使用原始命令与Azure登录界面交互来登录了

#Azure验证界面登录
Login-AzureRmAccount -EnvironmentName AzureChinaCloud
\

二、

使用Windows凭据输入界面登录

这种方式可以预定义用户名,只需要在弹出窗口输入密码就可以登录了

#Windows凭据验证界面登录
Login-AzureRmAccount -EnvironmentName AzureChinaCloud -Credential `
$(Get-Credential -UserName admin@xxx.partner.onmschina.cn -Message Login_AzureChinaCloud)

\

三、

不需要界面交互,我们可以预先将密码加密保存在文件中,直接从文件载入,既可以达到免输入登录,又能保证密码安全。

#从加密文件载入密码登录
$pwd = Get-Content $home\secretfile.txt | ConvertTo-SecureString
$cred = New-Object System.Management.Automation.PSCredential("admin@xxx.partner.onmschina.cn",$pwd)
Login-AzureRmAccount -EnvironmentName AzureChinaCloud -Credential $cred

加密密码保存到文件

#加密
#定义加密文件路径
$secretfile = "$home\secretfile.txt"
#定义加密内容(密码)
$pwd = "az.trig.c0m"
#加密并将内容放入文件中
ConvertTo-SecureString -String $pwd -AsPlainText -Force | ConvertFrom-SecureString | Out-File -FilePath  $secretfile -Encoding unicode

同样可以从加密文件中获得解密的明文密码,但解密过程只能在原加密计算机操作才能成功。

#解密
#从加密文件载入密码
$pwd = Get-Content $home\secretfile.txt | ConvertTo-SecureString
#转换成明文
[Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($pwd))

相关文章
最新文章
热点推荐