Powershell管理系列(二十三)PowerShell操作之使用密文密码创建邮箱及连接powershell...

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750

我们使用Powershell创建邮箱的时候,填写密码有两种方式,

方法1、手动输入密码

$password = Read-Host "Enter password" -AsSecureString
New-Mailbox -UserPrincipalName chris@contoso.com -Alias chris -Database "Mailbox Database 1" -Name ChrisAshton -OrganizationalUnit Users -Password $password -FirstName Chris -LastName Ashton -DisplayName "Chris Ashton" -ResetPasswordOnNextLogon $true

方法2、使用明文密码在加密使用

New-Mailbox -UserPrincipalName chris@contoso.com -Alias chris -Database "Mailbox Database 1" -Name ChrisAshton -OrganizationalUnit Users -Password (ConvertTo-SecureString -String P@ssw0rd -AsPlainText -Force) -FirstName Chris -LastName Ashton -DisplayName "Chris Ashton" -ResetPasswordOnNextLogon $true

方法1使用起来感觉不太方便,每次新建账号都要输入一遍密码,方法2使用起来又容易导致密码被别人看到,安全性没保障,我们怎么确保创建密码的时候不用每次输入,又保证安全性有保障。方法是有的,就是使用密文密码。

步骤1、将密码加密后保持到c:\xxx.txt。

$mysecret="Passw0rd"
$mysecret|ConvertTo-SecureString -AsPlainText -Force |ConvertFrom-SecureString|Out-File c:\xxx.txt -Encoding utf8

步骤2、将密文密码转换成powershell可以使用的格式

$securestring=(Get-Content C:\xxx.txt).ToString() | ConvertTo-SecureString
$ptr = [System.Runtime.InteropServices.Marshal]::SecureStringToGlobalAllocUnicode($secureString)
$serverpass = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($ptr)
$Password = ConvertTo-SecureString $serverpass -AsPlainText –Force

步骤3、创建邮箱的时候调用$Password变量。

New-Mailbox -UserPrincipalName chris@contoso.com -Alias chris -Database "Mailbox Database 1" -Name ChrisAshton -OrganizationalUnit Users -Password $password -FirstName Chris -LastName Ashton -DisplayName "Chris Ashton" -ResetPasswordOnNextLogon $true

 

我们连接powershell的时候,发现有个地方特别烦,每次都要输入用户名和密码,如下图。

wKioL1Tdu_WhQ-5dAAQVuRJZ31I212.jpg

其实我们可以把这个密码转换成密文密码保存下来,供powershell直接调用,命令如下:

$securestring=(Get-Content C:\xxx.txt).ToString() | ConvertTo-SecureString
$ptr = [System.Runtime.InteropServices.Marshal]::SecureStringToGlobalAllocUnicode($secureString)
$serverpass = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($ptr)
$UserName = "administrator@rightdo.net"      #定义管理员账户名称
$Password = ConvertTo-SecureString $serverpass -AsPlainText –Force
$cred = New-Object System.Management.Automation.PSCredential($UserName,$Password)
$session=New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://mail.rightdo.net/powershell -Authentication Basic -Credential $cred
Import-PSSession $sessionImport-PSSession $session

输入后powershell正常连接上了。

wKioL1TdxTmxasiEAAYX7UyFDEw842.jpg

 

有加密同时也有解密的方法,将密文转换回明文(只能在加密时使用的计算机上解密)

$secureString = Get-Content -Path c:\xxx.txt | ConvertTo-SecureString
$ptr = [System.Runtime.InteropServices.Marshal]::SecureStringToGlobalAllocUnicode($secureString)
$mysecret = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($ptr)
$mysecret 

wKioL1TdxmmxV8RlAAJ1TPiJivA611.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值