拡張属性を追加する
スクリプトを準備する
下記コードを記載し、Jamf Proの設定→スクリプトに登録します
# !/bin/bash
auth_token=$(printf $4:$5 | iconv -t ISO-8859-1 | base64 -i -)
# Get JSS ID for current computer.
# get serial number and look up JSS ID
serial=$(system_profiler SPHardwareDataType | awk '/Serial Number/{print $NF}')
echo "the computers serial is $serial"
computerID=$(curl -s -k -X GET $6/JSSResource/computers/serialnumber/$serial -H "authorization: Basic $auth_token" | xmllint --xpath '/computer/general/id/text()' -)
echo "the computers JSS ID is $computerID"
# Create xml
cat << EOF > /private/tmp/ea.xml
<computer>
<extension_attributes>
<extension_attribute>
<name>$7</name>
<value>$8</value>
</extension_attribute>
</extension_attributes>
</computer>
EOF
curl -s -k -X PUT $6/JSSResource/computers/id/$computerID -H "authorization: Basic $auth_token" -H "content-type: application/xml" -T /private/tmp/ea.xml
exit 0
API呼び出し用ユーザーを作成する
以下の権限を持ったユーザーを作成します
- コンピュータ 読み取り・アップデート
- コンピュータの拡張属性 読み取り・アップデート
- ユーザー 読み取り・アップデート
- ユーザー拡張属性 読み取り・アップデート
なぜかユーザーに対する権限を与えないとエラーになります・・・
jamf nationでも触れられていてこれは報告する案件だとか書かれてました
ポリシーを定義する
作成したスクリプトを実行するポリシーを定義します
コンピュータ → ポリシー → 新規をクリック
作成したスクリプトを選択し、パラメータに下記内容を登録します
パラメータ4 | 作成したユーザー名 |
---|---|
パラメータ5 | 作成したユーザーのパスワード |
パラメータ6 | Jamf ProのURL |
パラーメタ7 | 拡張属性名 |
パラメータ8 | 設定したい拡張属性の値 |
Scope等々も必要に応じて設定してください
Self Service のボタンを押してみる
ポリシーでSelf Serviceに表示させ、ボタンを押します
Jamf Proインベントリの拡張属性が変更されたことを確認します