ご挨拶
同僚からスクレイピングによるiOSアプリ更新をいち早く知れるコマンドを作ってもらいました。
ターゲットとしてはMDMによるiPhone管理をされている方向けの内容です。
社用携帯の場合は個人でアプリをダウンロードしたり、アップデートできない場合があります。
とはいえセキュリティ観点からいつまでも古いアプリを利用させ続けるのは管理側としてはリスキーなわけであるけれども、いちいち、ちまちま調べるよりまとめて調べて活用したい方向けです。
日常でiPhoneをご利用されている方には無益な内容です。
検証を重ねてコード掲載に至っておりますが、ご利用は最新の公式情報を参照の上、自己責任でお願い申し上げます。
また、ある程度コマンドプロンプトや、PowerShellを実行経験済みの方が参考にされる事をお勧めします。
一部手順を省略している場合があり、お使いのOS環境によりましては上手く動作しない場合がございます。
【作業】
①メモ帳を開いて 次のコードを貼り付ける。
@echo off
pushd %~dp0
rem このバッチファイル自体を管理者実行
if not "%1"=="am_admin" (powershell start -verb runas '%0' am_admin & exit /b)
powershell -Noprofile -ExecutionPolicy Unrestricted .\***.ps1
②***.bat
のファイル名をつける。
※「***」はお好きなファイル名をご指定ください。
③保存先をC:\Users\***\Desktop
に指定する。
※「***」にはお使いのユーザー名が入ります。
※「Desktop」は一例です。お好きな保管場所をご指定ください。
④エンコード:
と書かれた右側部分をクリックしてANSI
を選択し保存する。
⑤再度メモ帳を開いて以下のコードを貼り付ける。
# 編集するのは「[PSCustomObject]@{ Name = "○○○"; URL ="***"」の「○○○」と「***」部分だけ
# ただし「○○○」は任意の名称をかけるが「***」は正しいURLを確認し指定することが条件
# URLは https://www.apple.com/jp/ で検索する。🔍アイコンにアプリ名を入れる。
# 「***」のURLにひらがなが入る場合はコピペすると一部エンコードされてしまうので注意
# 詳細は下記の「注意」をご確認ください。
$URL = @(
[PSCustomObject]@{ Name = "○○○"; URL = "***" },
[PSCustomObject]@{ Name = "駅すぱあと"; URL = "https://apps.apple.com/jp/app/駅すぱあと/id463431091" },
[PSCustomObject]@{ Name = "Microsoft Teams"; URL = "https://apps.apple.com/jp/app/microsoft-teams/id1113153706" },
[PSCustomObject]@{ Name = "Microsoft Authenticator"; URL = "https://apps.apple.com/jp/app/microsoft-authenticator/id983156458" },
[PSCustomObject]@{ Name = "Slack"; URL = "https://apps.apple.com/jp/app/slack/id618783545" }
)
$1monthAgo = Get-Date (Get-Date).Addmonths(-1) -Format "yyyy/MM/dd"
$Counter = 0
$UpdateList = @()
while ($Counter -lt $URL.URL.count){
$URLtxt = ((((Invoke-WebRequest $URL.URL[$Counter]).content) -split 'versionHistory\\":')[1]) -split "releaseDate"
$AppVer = ($URLtxt -split '\\"')[16]
$UpdateDate = Get-Date ([dateTime]($URLtxt -split '\\"')[4]) -Format "yyyy/MM/dd"
if ($1monthAgo -lt $UpdateDate){
$UpdateList += [PSCustomObject]@{ アプリ名 = $URL.Name[$Counter]; 最新バージョン = $AppVer ; 更新日 = $UpdateDate }
}
$Counter++
Start-Sleep -Seconds 5
}
$UpdateList | Format-Table -AutoSize
Pause
<# 注意!!!
例「Amazon」の場合
URL欄で https://apps.apple.com/jp/app/amazon-ショッピングアプリ/id374254473
となっていても
コピペすると「https://apps.apple.com/jp/app/amazon-0%E3%82%A2/id374254473」
とエンコードされるので手打ちするか、URL欄でひらがなだけをコピーし、
Shift Ctrlを同時に押しながらVを押せばそのまま反映される。
#>
⑥***.ps1
のファイル名をつける。
※空白や記号は使わない様に注意してください。「.bat」ファイルで実行する際に失敗します。
例 「iPhone_App @Update.ps1」
⑦保存先をC:\Users\***\Desktop
に指定する。
※「***」にはお使いのユーザー名が入ります。
※「Desktop」は一例です。お好きな保管場所をご指定ください。
⑧エンコード:
と書かれた右側部分をクリックしてANSI
を選択し保存する。
# 以上です。最後まで閲覧いただきありがとうございました。