Tôi có một lệnh plistbuddy mà tôi cần thực thi cho 100 người dùng khác nhau.
Giá trị tôi phải nhập cho 100 người dùng cá nhân tùy thuộc vào tên máy chủ.
Tôi đã nghĩ rằng tôi có thể sử dụng một csv có danh sách tên máy chủ / tên máy tính và giá trị plist tương ứng, sau đó sử dụng tập lệnh shell để:
- Kiểm tra tên máy chủ của Mac
- Tìm tên máy chủ trong csv
- tìm giá trị của mã tương ứng cần thiết cho lệnh plistbuddy và lưu nó vào một biến
- chèn giá trị đó vào lệnh plistbuddy và thực thi, thay đổi giá trị của tệp plist mong muốn.
Các csv sẽ chỉ được định dạng là:
hostname, code
hostname1, 2001
hostname2, 2002
Cụ thể tệp plist là tệp plist ưu tiên máy in.
Đây là lệnh plistbuddy:
/usr/libexec/PlistBuddy -c "Set :2ndfloor:com.apple.print.preset.settings:ManagementCodeValue 1001" ~/Library/Preferences/com.apple.print.custompresets.forprinter.CMI2ndFloorColor.plist
Giá trị cần thay đổi tùy thuộc vào tên máy chủ là giá trị "1001" trong lệnh đó.
Đó là những yếu tố duy nhất; kiểm tra tên máy chủ, tìm nó trong csv, thực thi lệnh plistbuddy bằng mã tương ứng trong csv.
Bất cứ ai có ý tưởng tốt cho việc này? Nó sẽ tiết kiệm hàng giờ và hàng giờ làm việc GUI.