エンジニアのエンジニアによるエンジニアのためのサイト
Toggle navigation
TOP
技術
書籍
資格
業務
イベント・セミナー
ニュース・お知らせ
検索
News
07/25 おすすめ情報に 『 【案件】Azure AD関連の認証設計/azureの基本設計 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。
無料会員登録
メールアドレス
パスワード
パスワードを忘れた場合
Login
Tweet
TOP
投稿内容
【PowerShell】ログイン先のOffice365テナントを都度選べるログインスクリプト
投稿者: muto-sanさん
投稿日:2020/01/30 11:11
更新日:2020/01/30 11:17
3
分類
技術
テクノロジー
全般
キャリア
運用・保守 / 構築
投稿内容
複数のOffice 365(最近はMicrosoft 365と言うべきなのだろうか?)を同時に操作する必要がある状況になると、PowerShellで都度ログインコマンドを打つのが面倒。。。
自動ログインスクリプトは探せば見つかるので、少し応用してログイン先を都度選べるようなものを作ってみます。
1. 認証情報ファイル作成
「Get-Credential」コマンドを実行して変数にOffice 365管理者の認証情報を格納し、Passwordプロパティを取得します。
このままではSecureString形式になっているので、ConvertFrom-SecureStringからOut-Fileにパイプしてパスワード情報のファイルを作ります。
※ この手順で作成するファイルはパスワードがそのまま記述されるものではありませんが、
厳重に取り扱ってください。
2. 手順1を繰り返してテナント分のファイルを作成します
3. ログインスクリプトをガリガリ書く
自分の場合は下記のような感じになりました。
==========================
Write-Output "####Office 365 接続スクリプト####"
$Flag = $true
While ($Flag){
$Tenant = Read-Host "接続先テナントを選択してください。`r`n(1.テナントA, 2.テナントB, 3.テナントC
) "
if ($Tenant -eq 1){
$PassFile = "C:\o365Credentials\TenantA.pass
"
$AdminAccount = "admin@tenanta.onmicrosoft.com"
$TenantName = "テナントA"
$SPOUrl = "https://tenanta-admin.sharepoint.com"
$Flag = $false
}elseif ($Tenant -eq 2){
$PassFile = "C:\o365Credentials\TenantB.pass"
$AdminAccount = "admin@tenantb.onmicrosoft.com"
$TenantName = "テナントB"
$SPOUrl = "https://tenantb-admin.sharepoint.com"
$Flag = $false
}elseif ($Tenant -eq 3){
$PassFile = "C:\o365Credentials\TenantC.pass
"
$AdminAccount = "admin@tenantc.onmicrosoft.com"
$TenantName = "テナントC"
$SPOUrl = "https://tenantc-admin.sharepoint.com"
$Flag = $false
}else{
Write-Output "不正な値が入力されました。"
}
}
Write-Output "『$TenantName』に接続します。"
Pause
$Password = Get-Content $PassFile | ConvertTo-SecureString
$Cred = New-Object System.Management.Automation.PSCredential $AdminAccount,$Password
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic -AllowRedirection
Import-PSSession $Session -AllowClobber
Connect-AzureAD -Credential $Cred
Connect-MicrosoftTeams -Credential $Cred
Connect-MsolService -Credential $Cred
Connect-SPOService -Credential $Cred -Url $SPOUrl
==========================
スクリプトを実行すると数値の入力を求められ、入力した値に対応したテナントに接続します。
※ AzureAD、MSOnline、SharePoint Online、Teamsのモジュールは事前にインストールが必要です。
ログインスクリプトを再実行することで接続先を変えたりも出来ます。
ただし、今どのテナントに接続しているかわからなくなりがちなので、作業前には「Get-MsolCompanyInformation」コマンド等で接続先を確認する癖をつけておきましょうね。
コメント
コメントする
戻る