PowerShellを利用してOffice365(Exchange Online)に接続する際、Get-Credentialを利用して接続用クレデンシャルを作成するケースは多いかと思います。
この方法では、都度ID/パスワードを入力する必要があるため、管理業務で都度接続を行うようなケースでは効率が落ちてしまいます。
【こんな感じに】
$uc = Get-Credential
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $uc -Authentication Basic -AllowRedirection
Import-PSSession $session
Get-Mailbox -id "XXXXXXXX@XXXXXXXXXXXXX"
最初のGet-Credentialで資格情報入力が出てきます。
都度入力が必要となります。
というわけで資格情報をコードに埋め込んでしまうことで、
都度の入力を減らすことができます。
注意)そもそも都度入力することで、パスワードを記載したpsスクリプトの流出を防げたりもするので、ケースバイケースということを忘れずに対応しましょう。
ユーザーIDとパスワードで先にクレデンシャルを作っておくと、そのクレデンシャルを利用して接続を行うことができます。
【こんなコードです】
$user = "XXXXXXXX@XXXXXXXXXXXXX"
$pass = ConvertTo-SecureString -String "パスワード" -AsPlainText -Force
$cd = New-Object -TypeName "System.Management.Automation.PSCredential" -ArgumentList $user, $pass
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $cd -Authentication Basic -AllowRedirection
Import-PSSession $session
運用局面に入っていると、手順ミスがそのままバイオレーションとしてペケカウントされるケースもあるため、事前に作れるシェルスクリプトはとっても重宝しますよね。
スクリプト化できるものは少しでもスクリプトにし、手順を減らせるように運用を進めていきましょう!
音楽:天虎