Office365の全ユーザーパスワード無期限化スクリプト
Office365のパスワード無期限化設定は、その時点での無期限化設定です。ユーザーを新規作成したときは、再度無期限化の設定をしなけらばならず、常時運用している場合は面倒かつトラブルのもととなります。
そこで、全ユーザーのパスワード無期限化をPowerShellスクリプトを使って、サーバーなどに設定して自動化してしまいましょう!
まずは、下記の記事を参考に、PowerShellでOffice365の操作ができるようにツールを導入。
下記のスクリプト実行フォルダを作成します。
C:\script\
C:\script\Office365\
C:\script\Office365\log\
下記PowerShellスクリプトを "Office365-PW-NeverExpires.ps1" という名前で、 "C:\script\Office365\" フォルダへ保存。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
# ----------------------------------------------------------------
# - Office 365 全ユーザーパスワード無期限化PowerShellスクリプト
# - Office365-PW-NeverExpires.ps1
# ----------------------------------------------------------------
# Office365のモジュールをダウンロード
Import-Module MSOnline
# Office365の資格情報を入力&認証
$LiveCredential = ConvertTo-SecureString "Password" -AsPlainText -force | % { New-Object System.Management.Automation.PSCredential("aaa@bbb.com", $_) } | % {Get-Credential $_}
Connect-MsolService -Credential $LiveCredential
echo ユーザーのパスワード無期限化の設定を確認(実行前)
Get-MSOLUser | Select UserPrincipalName, PasswordNeverExpires
echo .------------------------------------------------------------
echo .
echo .
echo 全てのユーザーのパスワード無期限化を設定
Get-MSOLUser | Set-MsolUser -PasswordNeverExpires $true
echo .
echo .
echo .------------------------------------------------------------
echo .
echo .
echo ユーザーのパスワード無期限化の設定を確認(実行後)
Get-MSOLUser | Select UserPrincipalName, PasswordNeverExpires
echo .------------------------------------------------------------
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
次に、 "Office365-PW-NeverExpires.ps1" を実行するためのWindowsバッチファイル、 "Office365-AutoPWNeverExpires.bat" を "C:\script\Office365\" 作成します。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
rem ----------------------------------------------------------------
rem - Office 365 全ユーザーパスワード無期限化スクリプト実行
rem - Office365-AutoPWNeverExpires.bat
rem ----------------------------------------------------------------
@echo off
rem 変数定義
set DT=%date%
set LOG=C:\script\Office365\Log\%DT:~0,4%%DT:~5,2%%DT:~8,2%.log
set PSexePath="C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
set PSscriptPath="C:\script\Office365\Office365-PW-NeverExpires.ps1"
echo --------------------------------------------------------------- > %LOG%
echo --- Office 365 全ユーザーパスワード無期限化スクリプト実行 >> %LOG%
echo --- Start Time : %date% %time% >> %LOG%
echo. >> %LOG%
echo. >> %LOG%
echo -- スクリプト実行 >> %LOG%
call %PSexePath% %PSscriptPath% >> %LOG%
echo. >> %LOG%
echo. >> %LOG%
echo --- End Time : %date% %time% >> %LOG%
echo --------------------------------------------------------------- >> %LOG%
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
これで準備完了。
あとは、タスクスケジューラへ "Office365-AutoPWNeverExpires.bat" を登録し、正常に動くかを確認すれば出来上がりです。
実行結果は "C:\script\Office365\log\" に保存されるので、確認してみて下さい。
(2013/09/08現在利用可能)
Office365の仕様変更で使えなくなる可能性もあるのでご注意を。。。