Прочитайте Intro
У наступному підручнику ви зробите наступне:
- Створіть профіль конфігурації, який блокує програми на певному шляху
- Додаток , яке додавати і видаляти профіль в залежності від дня
- LaunchDaemon , який буде працювати з додатком кожен інтервал (5 хв)
Створіть програму
Відкрити це в редакторі сценаріїв і експортувати його як тільки для читання додатки і переконайтеся , що залишаються відкритими після запуску обробника нема на
Після експортування дотримуйтеся цього
вказівки, щоб запобігти його відображенню в доці.
# Block Apps Based on Day By Josh Brown
# Last Modified: Aug 23 2018
on run
if checkDay("Friday") then
do shell script "sudo profiles remove -forced -identifier com.company.macos.blockapps"
else
do shell script "sudo profiles install forced -path /path/to/the.mobileconfig"
end if
end run
on checkDay(myDay)
set currentDay to weekday of (get current date)
if (currentDay as string) is (myDay as string) then
return true
else
return false
end if
end checkDay
Створіть мобільну конфігурацію
Використовуйте
<key>pathBlackList</key>
<array>
<string>/path/to/an.app</string>
<string>/path/to/asecond.app</string>
</array>
контролювати, які програми блокувати.
Збережіть наступне до файлу з розширенням .mobileconfig
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadIdentifier</key>
<string>com.company.macos.blockapps</string>
<key>PayloadRemovalDisallowed</key>
<true/>
<key>PayloadScope</key>
<string>System</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>9c24d6b3-6233-4a08-a48d-9068f4f76cf0</string>
<key>PayloadOrganization</key>
<string>Company Name</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadDisplayName</key>
<string>Block Apps In User Folder</string>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadType</key>
<string>com.apple.applicationaccess.new</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadIdentifier</key>
<string>MCXToProfile.9c24d6b3-6233-4a08-a48d-9068f4f76cf0.alacarte.customsettings.2476221c-1870-4f3e-8c52-52386029c4cf</string>
<key>PayloadEnabled</key>
<true/>
<key>PayloadUUID</key>
<string>2476221c-1870-4f3e-8c52-52386029c4cf</string>
<key>PayloadDisplayName</key>
<string>Blocks all apps in the ~/ directory./string>
<key>familyControlsEnabled</key>
<true/>
<key>pathBlackList</key>
<array>
<string>/path/to/an.app</string>
<string>/path/to/asecond.app</string>
</array>
</dict>
</array>
</dict>
</plist>
Створіть LaunchDaemon
Примітка. Для цього ви повинні бути адміністратором.
Збережіть наступний файл /Library/LaunchDaemons/
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.PlzUpvoteMy.answer</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/open</string>
<string>-W</string>
<string>**/path/to/application.app**</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StartCalendarInterval</key>
<!--- Creds to @Allan for Calendar Interval -->
<!-- Weekdays are 1 - 5; Sunday is 0 and 7 -->
<array>
<dict>
<key>Weekday</key>
<integer>5</integer>
<key>Hour</key>
<integer>12</integer>
<key>Minute</key>
<integer>01</integer>
</dict>
<dict>
<key>Weekday</key>
<integer>6</integer>
<key>Hour</key>
<integer>00</integer>
<key>Minute</key>
<integer>00</integer>
</dict>
</array>
<key>UserName</key>
<string>**UserToBlock**</string>
</dict>
</plist>
Змініть дозволи наступною командою:
sudo chown root:wheel /Library/LaunchDaemons/com.MyName.plist
Завантажте демон
Примітка. Для цього потрібно бути адміністратором.
Щоб запустити демон, скористайтеся цією командою:
sudo launchctl load /Library/LaunchDaemons/com.MyName.plist
Програма буде шукати програми кожні 5 секунд і закривати їх, якщо вони працюють.
Щоб зупинити демона, використовуйте цю команду
sudo launchctl unload /Library/LaunchDaemons/com.MyName.plist
Аплодуйте себе
- Аплодуйте собі