IntuneでWindows端末に対して定期的にスクリプトを実行させる
この記事は【初心者優先枠】corp-engr 情シスSlack(コーポレートエンジニア x 情シス)#3のアドベントカレンダー12/12分です。
IntuneはWindowsに対してバッチファイル(Powershell)を実行させる機能があります。ただしこの機能は1度きりで定期実行させることは出来ません。
今回はタスクスケジューラの機能をと組み合わせてIntuneから設定と実行したいファイルを転送する方法を説明したいと思います。
今回作ったツール
今回は以前ブログで紹介したChocolateyをインストールした端末に対して定期的にアプリを更新させるタスクを追加したいと思います。
前回のブログはこちらを参照下さい
準備
実行させたいスクリプトを作成
まず定期的に実行させたいバッチファイルを作成します。
今回作成したファイルはこちらです。
ファイル名:choco-update.bat
@echo off
if not "%~0"=="%~dp0.\%~nx0" (
start /min cmd /c,"%~dp0.\%~nx0" %*
exit
)
cd /d %~dp0
for /f "tokens=3 delims=\ " %%i in ('whoami /groups^|find "Mandatory"') do set LEVEL=%%i
if NOT "%LEVEL%"=="High" (
powershell.exe -NoProfile -ExecutionPolicy RemoteSigned -Command "Start-Process %~f0 -Verb runas"
exit
)
choco upgrade all -y
内容を簡単に説明すると以下ステップになります。
バッチファイルを最小化で起動
バッチファイルを管理権限で実行
Chocolateyでインストールした全アプリを実行するコマンド実行
タスクスケジューラに登録させるスクリプトを作成
タスクスケジューラに登録するバッチファイルを作成します。
ファイル名:task-setting.bat
If not exist C:\ProgramData\chocolatey\update-tool mkdir C:\ProgramData\chocolatey\update-tool
copy "choco-update.bat" "C:\ProgramData\chocolatey\update-tool\choco-update.bat" /Y
schtasks /create /tn choco-update /tr "C:\ProgramData\chocolatey\update-tool\choco-update.bat" /sc onlogon /rl highest /F
内容を簡単に説明すると以下ステップになります。
バッチ保管先がなければフォルダ作成
タスクスケジューラに登録するバッチファイルをコピー
タスクスケジューラ設定
タスクスケジューラはschtasksコマンドで登録出来ます。
上記は以下のような設定内容になっています。
それぞれの詳しいパラメーターは以下サイトをご参照下さい。
インストーラー作成
IntuneのアプリインストールではおなじみのIntunewinを使用します。
こちらからツールをDLしてきて下さい。
インストーラ作成
1.Intunewinを起動
2.以下の通り設定して実行
Intune登録
1 Intuneの管理画面から「アプリ」>「すべてのアプリ」>「+追加」>「Windowsアプリ(win32)」>「選択」クリック
2”アプリのパッケージファイル” にて作成したIntunewinファイルを選択して「OK」クリック
3 ”アプリ情報”タブにて以下設定して「次へ」クリック
4 ”アプリ情報”タブにて以下設定して「次へ」クリック
5 ”必須条件”タブにて以下設定して「次へ」クリック
6 ”摘出規則”の設定画面にて「摘出規則を手動で構成する」を選択
7 ”摘出規則”の設定画面にて以下の通り設定
8 ”依存関係”タブは特に設定不要なので「次へ」
9 ”置き換え”タブは特に設定不要なので「次へ」
10 ”割り当て”タブにて必要なユーザ、デバイスを設定して「次へ」
最後に
これを応用すればいろんなタスクを設定できるのでお試し下さい。
あと自分がいつもお世話になっている情シスSlackはこちらから参加出来ます。とても素晴らしいコミュニティなのでまだの人はぜひ参加してみて下さい。
あと個人的には常時副業募集中です。
私のスキルと詳しい条件等は以下サイトを参照下さい。
それでは皆さんよい情シスライフを~~~
この記事が気に入ったらサポートをしてみませんか?