Module: OpenDirectoryUtils::CommandsUserAttribs
- Includes:
- CleanCheck, CommandsBase
- Included in:
- CommandsUserCreateRemove, Connection
- Defined in:
- lib/open_directory_utils/commands_user_attribs.rb
Overview
-
these commands were derived from the following resrouces:
this is a long list of pre-built dscl commands affecting users to accomplish common actions
Instance Method Summary collapse
- #user_add_to_group(attribs, dir_info) ⇒ Object
-
#user_append_chat(attribs, dir_info) ⇒ Object
first - /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$USER apple-imhandle “$VALUE” /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$USER apple-imhandle “AIM:created: $CREATE”.
- #user_append_email(attribs, dir_info) ⇒ Object
-
#user_append_keyword(attribs, dir_info) ⇒ Object
(also: #user_append_keywords)
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -append /Users/$shortname_USERNAME apple-keyword “$VALUE”.
-
#user_create_chat(attribs, dir_info) ⇒ Object
first - /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$USER apple-imhandle “$VALUE” /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$USER apple-imhandle “AIM:created: $CREATE”.
-
#user_create_keyword(attribs, dir_info) ⇒ Object
(also: #user_create_keywords)
1st keyword – /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$shortname_USERNAME apple-keyword “$VALUE” other keywords – /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -append /Users/$shortname_USERNAME apple-keyword “$VALUE”.
-
#user_disable_login(attribs, dir_info) ⇒ Object
/usr/bin/pwpolicy -a diradmin -p A-B1g-S3cret -u $shortname_USERNAME -setpolicy “isDisabled=1”.
-
#user_enable_login(attribs, dir_info) ⇒ Object
/usr/bin/pwpolicy -a diradmin -p A-B1g-S3cret -u $shortname_USERNAME -setpolicy “isDisabled=0”.
-
#user_exists?(attribs, dir_info) ⇒ Boolean
get all usernames – dscl .
-
#user_get_info(attribs, dir_info) ⇒ Object
(also: #user_info)
GET INFO.
-
#user_get_policy(attribs, dir_info) ⇒ Object
(also: #user_login_enabled?)
/usr/bin/pwpolicy -a diradmin -p A-B1g-S3cret -u $shortname_USERNAME -getpolicy.
-
#user_password_verified?(attribs, dir_info) ⇒ Boolean
(also: #user_password_ok?)
/usr/bin/dscl /LDAPv3/127.0.0.1 -auth #shortname “#passwd”.
- #user_remove_from_group(attribs, dir_info) ⇒ Object
-
#user_set_chat(attribs, dir_info) ⇒ Object
(also: #user_set_im_handle, #user_set_chat_channels)
first - /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$USER apple-imhandle “$VALUE” others - /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -append /Users/$USER apple-imhandle “$VALUE” /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$USER apple-imhandle “AIM:created: $CREATE” /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -append /Users/$USER apple-imhandle “ICQ:start: $START” /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -append /Users/$USER apple-imhandle “MSN:end: $END”.
- #user_set_city(attribs, dir_info) ⇒ Object
- #user_set_comment(attribs, dir_info) ⇒ Object (also: #user_set_description)
-
#user_set_company(attribs, dir_info) ⇒ Object
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$shortname_USERNAME apple-company “$VALUE”.
-
#user_set_country(attribs, dir_info) ⇒ Object
alias_method :las_program_info, :user_set_company.
- #user_set_department(attribs, dir_info) ⇒ Object
-
#user_set_first_email(attribs, dir_info) ⇒ Object
(also: #user_set_email)
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$shortname_USERNAME mail “$VALUE” /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$shortname_USERNAME email “$VALUE” /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$shortname_USERNAME apple-user-mailattribute “$VALUE”.
-
#user_set_first_name(attribs, dir_info) ⇒ Object
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$shortname_USERNAME FirstName “$VALUE”.
-
#user_set_home_phone(attribs, dir_info) ⇒ Object
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -append /Users/$shortname_USERNAME apple-keyword “$VALUE”.
- #user_set_job_title(attribs, dir_info) ⇒ Object (also: #user_set_title)
-
#user_set_keywords(attribs, dir_info) ⇒ Object
(also: #user_set_keyword)
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -append /Users/$shortname_USERNAME apple-keyword “$VALUE”.
-
#user_set_last_name(attribs, dir_info) ⇒ Object
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$shortname_USERNAME LastName “$VALUE”.
-
#user_set_mobile_phone(attribs, dir_info) ⇒ Object
(also: #user_set_mobile_number, #user_set_mobile_phone_number)
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -append /Users/$shortname_USERNAME apple-keyword “$VALUE”.
-
#user_set_name_suffix(attribs, dir_info) ⇒ Object
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -append /Users/$shortname_USERNAME apple-keyword “$VALUE”.
-
#user_set_nfs_home_directory(attribs, dir_info) ⇒ Object
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/someuser NFSHomeDirectory /Users/someuser.
- #user_set_organization_info(attribs, dir_info) ⇒ Object (also: #user_set_org_info)
-
#user_set_password(attribs, dir_info) ⇒ Object
/usr/bin/pwpolicy -a diradmin -p “TopSecret” -u username -setpassword “AnotherSecret” /usr/bin/dscl -plist -u diradmin -P #adminpw /LDAPv3/127.0.0.1 -passwd /Users/#shortname “#passwd”.
-
#user_set_postal_code(attribs, dir_info) ⇒ Object
(also: #user_set_post_code, #user_set_zip_code)
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$shortname_USERNAME apple-webloguri “$VALUE”.
-
#user_set_primary_group_id(attribs, dir_info) ⇒ Object
sudo dscl .
-
#user_set_real_name(attribs, dir_info) ⇒ Object
CHANGE OD.
-
#user_set_relationships(attribs, dir_info) ⇒ Object
alias_method :las_sync_date, :user_set_weblog.
-
#user_set_shell(attribs, dir_info) ⇒ Object
sudo dscl .
- #user_set_state(attribs, dir_info) ⇒ Object
- #user_set_street(attribs, dir_info) ⇒ Object (also: #user_set_address)
-
#user_set_unique_id(attribs, dir_info) ⇒ Object
sudo dscl .
-
#user_set_weblog(attribs, dir_info) ⇒ Object
(also: #user_set_blog)
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$shortname_USERNAME apple-webloguri “$VALUE”.
-
#user_set_work_phone(attribs, dir_info) ⇒ Object
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -append /Users/$shortname_USERNAME apple-keyword “$VALUE”.
Methods included from CommandsBase
#build_dscl_command, #build_dseditgroup_command, #build_pwpolicy_command, #dscl, #dseditgroup, #pwpolicy
Methods included from CleanCheck
#assert, #check_critical_attribute, #group_record_name_alternatives, #tidy_attribs, #user_record_name_alternatives
Instance Method Details
#user_add_to_group(attribs, dir_info) ⇒ Object
337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 337 def user_add_to_group(attribs, dir_info) attribs = user_record_name_alternatives(attribs) attribs[:value] = attribs[:group_membership] attribs[:value] = attribs[:value] || attribs[:groupmembership] attribs[:value] = attribs[:value] || attribs[:group_name] attribs[:value] = attribs[:value] || attribs[:groupname] attribs[:value] = attribs[:value] || attribs[:gid] check_critical_attribute( attribs, :record_name, :username ) check_critical_attribute( attribs, :value, :groupname ) attribs = tidy_attribs(attribs) command = { operation: 'edit', action: 'add', type: 'user'} user_attrs = attribs.merge(command) answer = dseditgroup( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_append_chat(attribs, dir_info) ⇒ Object
first - /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$USER apple-imhandle “$VALUE” /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$USER apple-imhandle “AIM:created: $CREATE”
438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 438 def user_append_chat(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:im_handle] attribs[:value] = attribs[:value] || attribs[:imhandle] attribs[:value] = attribs[:value] || attribs[:handle] attribs[:value] = attribs[:value] || attribs[:chat] attribs[:value] = attribs[:value] || attribs[:im] check_critical_attribute( attribs, :value, :chat ) attribs = tidy_attribs(attribs) command = {action: 'append', scope: 'Users', attribute: 'IMHandle'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_append_email(attribs, dir_info) ⇒ Object
219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 219 def user_append_email(attribs, dir_info) attribs = user_record_name_alternatives(attribs) attribs[:value] = attribs[:value] || attribs['apple-user-mailattribute'] attribs[:value] = attribs[:value] || attribs[:apple_user_mailattribute] attribs[:value] = attribs[:value] || attribs[:e_mail_attribute] attribs[:value] = attribs[:value] || attribs[:mail_attribute] attribs[:value] = attribs[:value] || attribs[:email] attribs[:value] = attribs[:value] || attribs[:mail] check_critical_attribute( attribs, :record_name ) check_critical_attribute( attribs, :value, :email ) attribs = tidy_attribs(attribs) answer = [] # command = {action: 'append', scope: 'Users', attribute: 'mail'} # user_attrs = attribs.merge(command) # answer << dscl( user_attrs, dir_info ) command = {action: 'append', scope: 'Users', attribute: 'email'} user_attrs = attribs.merge(command) answer << dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_append_keyword(attribs, dir_info) ⇒ Object Also known as: user_append_keywords
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -append /Users/$shortname_USERNAME apple-keyword “$VALUE”
615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 615 def user_append_keyword(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:keywords] attribs[:value] = attribs[:value] || attribs[:keyword] check_critical_attribute( attribs, :value, :keyword ) attribs = tidy_attribs(attribs) command = {action: 'append', scope: 'Users', attribute: 'Keywords'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_create_chat(attribs, dir_info) ⇒ Object
first - /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$USER apple-imhandle “$VALUE” /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$USER apple-imhandle “AIM:created: $CREATE”
415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 415 def user_create_chat(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:im_handle] attribs[:value] = attribs[:value] || attribs[:imhandle] attribs[:value] = attribs[:value] || attribs[:handle] attribs[:value] = attribs[:value] || attribs[:chat] attribs[:value] = attribs[:value] || attribs[:im] check_critical_attribute( attribs, :value, :chat ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'IMHandle'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_create_keyword(attribs, dir_info) ⇒ Object Also known as: user_create_keywords
1st keyword – /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$shortname_USERNAME apple-keyword “$VALUE” other keywords – /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -append /Users/$shortname_USERNAME apple-keyword “$VALUE”
595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 595 def user_create_keyword(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:keywords] attribs[:value] = attribs[:value] || attribs[:keyword] check_critical_attribute( attribs, :value, :keyword ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'Keywords'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_disable_login(attribs, dir_info) ⇒ Object
/usr/bin/pwpolicy -a diradmin -p A-B1g-S3cret -u $shortname_USERNAME -setpolicy “isDisabled=1”
323 324 325 326 327 328 329 330 331 332 333 334 335 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 323 def user_disable_login(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs = tidy_attribs(attribs) command = {attribute: 'disableuser', value: nil} params = command.merge(attribs) # pwpolicy(params, dir_info) answer = pwpolicy(params, dir_info) attribs[:value] = nil return answer end |
#user_enable_login(attribs, dir_info) ⇒ Object
/usr/bin/pwpolicy -a diradmin -p A-B1g-S3cret -u $shortname_USERNAME -setpolicy “isDisabled=0”
312 313 314 315 316 317 318 319 320 321 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 312 def user_enable_login(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs = tidy_attribs(attribs) command = {attribute: 'enableuser', value: nil} params = command.merge(attribs) pwpolicy(params, dir_info) end |
#user_exists?(attribs, dir_info) ⇒ Boolean
get all usernames – dscl . -list /Users get all user details – dscl . -readall /Users
40 41 42 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 40 def user_exists?(attribs, dir_info) user_get_info(attribs, dir_info) end |
#user_get_info(attribs, dir_info) ⇒ Object Also known as: user_info
GET INFO
get user record – dscl . -read /Users/<username> get user value – dscl . -read /Users/<username> <key> search od user – dscl . -search /Users RealName “Andrew Garrett” return as xml – dscl -plist . -search /Users RealName “Andrew Garrett”
23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 23 def user_get_info(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs = tidy_attribs(attribs) command = {action: 'read', scope: 'Users', attribute: nil, value: nil} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_get_policy(attribs, dir_info) ⇒ Object Also known as: user_login_enabled?
/usr/bin/pwpolicy -a diradmin -p A-B1g-S3cret -u $shortname_USERNAME -getpolicy
378 379 380 381 382 383 384 385 386 387 388 389 390 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 378 def user_get_policy(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs = tidy_attribs(attribs) command = {attribute: 'getpolicy', value: nil} params = command.merge(attribs) answer = pwpolicy(params, dir_info) attribs[:value] = nil return answer end |
#user_password_verified?(attribs, dir_info) ⇒ Boolean Also known as: user_password_ok?
/usr/bin/dscl /LDAPv3/127.0.0.1 -auth #shortname “#passwd”
292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 292 def user_password_verified?(attribs, dir_info) attribs = user_record_name_alternatives(attribs) attribs[:value] = attribs[:value] || attribs[:password] attribs[:value] = attribs[:value] || attribs[:passwd] check_critical_attribute( attribs, :record_name ) check_critical_attribute( attribs, :value, :password ) attribs = tidy_attribs(attribs) command = {action: 'auth', scope: 'Users'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_remove_from_group(attribs, dir_info) ⇒ Object
357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 357 def user_remove_from_group(attribs, dir_info) attribs = user_record_name_alternatives(attribs) attribs[:value] = attribs[:group_membership] attribs[:value] = attribs[:value] || attribs[:groupmembership] attribs[:value] = attribs[:value] || attribs[:group_name] attribs[:value] = attribs[:value] || attribs[:groupname] attribs[:value] = attribs[:value] || attribs[:gid] check_critical_attribute( attribs, :record_name, :username ) check_critical_attribute( attribs, :value, :groupname ) attribs = tidy_attribs(attribs) command = { operation: 'edit', action: 'delete', type: 'user'} user_attrs = attribs.merge(command) answer = dseditgroup( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_chat(attribs, dir_info) ⇒ Object Also known as: user_set_im_handle, user_set_chat_channels
first - /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$USER apple-imhandle “$VALUE” others - /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -append /Users/$USER apple-imhandle “$VALUE” /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$USER apple-imhandle “AIM:created: $CREATE” /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -append /Users/$USER apple-imhandle “ICQ:start: $START” /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -append /Users/$USER apple-imhandle “MSN:end: $END”
464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 464 def user_set_chat(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:values] = attribs[:values] || attribs[:im_handle] attribs[:values] = attribs[:values] || attribs[:imhandle] attribs[:values] = attribs[:values] || attribs[:handle] attribs[:values] = attribs[:values] || attribs[:chat] attribs[:values] = attribs[:values] || attribs[:im] answer = [] Array(attribs[:values]).each_with_index do |value, index| attribs[:value] = value case index when 0 answer << user_create_chat(attribs, dir_info) else answer << user_append_chat(attribs, dir_info) end end attribs[:value] = nil return answer unless attribs[:values].nil? or attribs[:values].empty? raise ArgumentError, "values: '#{attribs[:values].inspect}' invalid, value_name: :chats" end |
#user_set_city(attribs, dir_info) ⇒ Object
393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 393 def user_set_city(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:locale] attribs[:value] = attribs[:value] || attribs[:city] attribs[:value] = attribs[:value] || attribs[:town] attribs[:value] = attribs[:value] || attribs[:l] check_critical_attribute( attribs, :value, :city ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'City'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_comment(attribs, dir_info) ⇒ Object Also known as: user_set_description
495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 495 def user_set_comment(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:description] attribs[:value] = attribs[:value] || attribs[:comment] check_critical_attribute( attribs, :value, :comment ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'Comment'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_company(attribs, dir_info) ⇒ Object
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$shortname_USERNAME apple-company “$VALUE”
515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 515 def user_set_company(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:company] check_critical_attribute( attribs, :value, :company ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'Company'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_country(attribs, dir_info) ⇒ Object
alias_method :las_program_info, :user_set_company
533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 533 def user_set_country(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:country] attribs[:value] = attribs[:value] || attribs[:c] check_critical_attribute( attribs, :value, :country ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'Country'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_department(attribs, dir_info) ⇒ Object
551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 551 def user_set_department(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:department_number] attribs[:value] = attribs[:value] || attribs[:departmentnumber] attribs[:value] = attribs[:value] || attribs[:dept_number] attribs[:value] = attribs[:value] || attribs[:deptnumber] attribs[:value] = attribs[:value] || attribs[:department] attribs[:value] = attribs[:value] || attribs[:dept] check_critical_attribute( attribs, :value, :department ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'Department'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_first_email(attribs, dir_info) ⇒ Object Also known as: user_set_email
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$shortname_USERNAME mail “$VALUE” /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$shortname_USERNAME email “$VALUE” /usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$shortname_USERNAME apple-user-mailattribute “$VALUE”
189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 189 def user_set_first_email(attribs, dir_info) attribs = user_record_name_alternatives(attribs) attribs[:value] = attribs[:value] || attribs['apple-user-mailattribute'] attribs[:value] = attribs[:value] || attribs[:apple_user_mailattribute] attribs[:value] = attribs[:value] || attribs[:email] attribs[:value] = attribs[:value] || attribs[:mail] check_critical_attribute( attribs, :record_name ) check_critical_attribute( attribs, :value, :email ) attribs = tidy_attribs(attribs) answer = [] command = {action: 'create', scope: 'Users', attribute: 'MailAttribute'} user_attrs = attribs.merge(command) answer << dscl( user_attrs, dir_info ) command = {action: 'create', scope: 'Users', attribute: 'EMailAddress'} user_attrs = attribs.merge(command) answer << dscl( user_attrs, dir_info ) # command = {action: 'create', scope: 'Users', attribute: 'apple-user-mailattribute'} # user_attrs = attribs.merge(command) # answer << dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_first_name(attribs, dir_info) ⇒ Object
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$shortname_USERNAME FirstName “$VALUE”
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 74 def user_set_first_name(attribs, dir_info) attribs = user_record_name_alternatives(attribs) attribs[:value] = attribs[:value] || attribs[:given_name] attribs[:value] = attribs[:value] || attribs[:givenname] attribs[:value] = attribs[:value] || attribs[:first_name] attribs[:value] = attribs[:value] || attribs[:firstname] check_critical_attribute( attribs, :record_name ) check_critical_attribute( attribs, :value, :first_name ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'FirstName'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_home_phone(attribs, dir_info) ⇒ Object
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -append /Users/$shortname_USERNAME apple-keyword “$VALUE”
659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 659 def user_set_home_phone(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:home_phone_number] attribs[:value] = attribs[:value] || attribs[:home_number] attribs[:value] = attribs[:value] || attribs[:home_phone] check_critical_attribute( attribs, :value, :home_phone ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'HomePhoneNumber'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_job_title(attribs, dir_info) ⇒ Object Also known as: user_set_title
573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 573 def user_set_job_title(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:job_title] attribs[:value] = attribs[:value] || attribs[:jobtitle] attribs[:value] = attribs[:value] || attribs[:title] check_critical_attribute( attribs, :value, :job_title ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'JobTitle'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_keywords(attribs, dir_info) ⇒ Object Also known as: user_set_keyword
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -append /Users/$shortname_USERNAME apple-keyword “$VALUE”
635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 635 def user_set_keywords(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:values] = attribs[:values] || attribs[:keywords] attribs[:values] = attribs[:values] || attribs[:keyword] answer = [] Array(attribs[:values]).each_with_index do |value, index| attribs[:value] = value case index when 0 answer << user_create_keyword(attribs, dir_info) else answer << user_append_keyword(attribs, dir_info) end end return answer unless attribs[:values].nil? or attribs[:values].empty? raise ArgumentError, "values: '#{attribs[:values].inspect}' invalid, value_name: :keywords" end |
#user_set_last_name(attribs, dir_info) ⇒ Object
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$shortname_USERNAME LastName “$VALUE”
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 95 def user_set_last_name(attribs, dir_info) attribs = user_record_name_alternatives(attribs) attribs[:value] = attribs[:value] || attribs[:sn] attribs[:value] = attribs[:value] || attribs[:surname] attribs[:value] = attribs[:value] || attribs[:lastname] attribs[:value] = attribs[:value] || attribs[:last_name] attribs[:value] = attribs[:value] || attribs[:real_name] attribs[:value] = attribs[:value] || attribs[:realname] attribs[:value] = attribs[:value] || attribs[:short_name] attribs[:value] = attribs[:value] || attribs[:shortname] attribs[:value] = attribs[:value] || attribs[:user_name] attribs[:value] = attribs[:value] || attribs[:username] attribs[:value] = attribs[:value] || attribs[:uid] check_critical_attribute( attribs, :record_name ) check_critical_attribute( attribs, :value, :last_name ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'LastName'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_mobile_phone(attribs, dir_info) ⇒ Object Also known as: user_set_mobile_number, user_set_mobile_phone_number
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -append /Users/$shortname_USERNAME apple-keyword “$VALUE”
679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 679 def user_set_mobile_phone(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:mobile_phone_number] attribs[:value] = attribs[:value] || attribs[:mobile_number] attribs[:value] = attribs[:value] || attribs[:mobile_phone] check_critical_attribute( attribs, :value, :mobile_phone ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'MobileNumber'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_name_suffix(attribs, dir_info) ⇒ Object
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -append /Users/$shortname_USERNAME apple-keyword “$VALUE”
724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 724 def user_set_name_suffix(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:name_suffix] attribs[:value] = attribs[:value] || attribs[:suffix] check_critical_attribute( attribs, :value, :name_suffix ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'NameSuffix'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_nfs_home_directory(attribs, dir_info) ⇒ Object
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/someuser NFSHomeDirectory /Users/someuser
147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 147 def user_set_nfs_home_directory(attribs, dir_info) attribs = user_record_name_alternatives(attribs) attribs[:value] = attribs[:value] || attribs[:home_directory] attribs[:value] = attribs[:value] || attribs[:nfs_home_directory] attribs[:value] = attribs[:value] || '/Volumes/Macintosh HD/Users/someone' check_critical_attribute( attribs, :record_name ) check_critical_attribute( attribs, :value, :home_directory ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'NFSHomeDirectory'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_organization_info(attribs, dir_info) ⇒ Object Also known as: user_set_org_info
741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 741 def user_set_organization_info(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:organization_info] attribs[:value] = attribs[:value] || attribs[:organization] attribs[:value] = attribs[:value] || attribs[:org_info] attribs[:value] = attribs[:value] || attribs[:org] check_critical_attribute( attribs, :value, :organization_info ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'OrganizationInfo'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_password(attribs, dir_info) ⇒ Object
/usr/bin/pwpolicy -a diradmin -p “TopSecret” -u username -setpassword “AnotherSecret” /usr/bin/dscl -plist -u diradmin -P #adminpw /LDAPv3/127.0.0.1 -passwd /Users/#shortname “#passwd”
273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 273 def user_set_password(attribs, dir_info) attribs = user_record_name_alternatives(attribs) attribs[:value] = attribs[:value] || attribs[:password] attribs[:value] = attribs[:value] || attribs[:passwd] attribs[:value] = attribs[:value] || '*' check_critical_attribute( attribs, :record_name ) check_critical_attribute( attribs, :value, :password ) attribs = tidy_attribs(attribs) command = {action: 'passwd', scope: 'Users'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_postal_code(attribs, dir_info) ⇒ Object Also known as: user_set_post_code, user_set_zip_code
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$shortname_USERNAME apple-webloguri “$VALUE”
763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 763 def user_set_postal_code(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:postal_code] attribs[:value] = attribs[:value] || attribs[:post_code] attribs[:value] = attribs[:value] || attribs[:zip_code] attribs[:value] = attribs[:value] || attribs[:zip] check_critical_attribute( attribs, :value, :postal_code ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'PostalCode'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_primary_group_id(attribs, dir_info) ⇒ Object
sudo dscl . -create /Users/someuser PrimaryGroupID 80
248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 248 def user_set_primary_group_id(attribs, dir_info) attribs = user_record_name_alternatives(attribs) attribs[:value] = attribs[:value] || attribs[:groupid] attribs[:value] = attribs[:value] || attribs[:group_id] attribs[:value] = attribs[:value] || attribs[:gidnumber] attribs[:value] = attribs[:value] || attribs[:groupnumber] attribs[:value] = attribs[:value] || attribs[:group_number] attribs[:value] = attribs[:value] || attribs[:primarygroupid] attribs[:value] = attribs[:value] || attribs[:primary_group_id] check_critical_attribute( attribs, :record_name ) check_critical_attribute( attribs, :value, :group_id ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'PrimaryGroupID'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_real_name(attribs, dir_info) ⇒ Object
CHANGE OD
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$USER RealName “$VALUE”
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 47 def user_set_real_name(attribs, dir_info) attribs = user_record_name_alternatives(attribs) attribs[:value] = attribs[:value] || attribs[:common_name] attribs[:value] = attribs[:value] || attribs[:cn] attribs[:value] = attribs[:value] || attribs[:realname] attribs[:value] = attribs[:value] || attribs[:real_name] attribs[:value] = attribs[:value] || attribs[:fullname] attribs[:value] = attribs[:value] || attribs[:full_name] if attribs[:last_name] or attribs[:first_name] attribs[:value] = attribs[:value] || "#{attribs[:first_name]} #{attribs[:last_name]}" end attribs[:value] = attribs[:value] || attribs[:record_name] check_critical_attribute( attribs, :record_name ) check_critical_attribute( attribs, :value, :real_name ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'RealName'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_relationships(attribs, dir_info) ⇒ Object
alias_method :las_sync_date, :user_set_weblog
785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 785 def user_set_relationships(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:relationships] attribs[:value] = attribs[:value] || attribs[:relations] check_critical_attribute( attribs, :value, :relationships ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'Relationships'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_shell(attribs, dir_info) ⇒ Object
sudo dscl . -create /Users/someuser UserShell /bin/bash
167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 167 def user_set_shell(attribs, dir_info) attribs = user_record_name_alternatives(attribs) attribs[:value] = attribs[:value] || attribs[:user_shell] attribs[:value] = attribs[:value] || attribs[:shell] attribs[:value] = attribs[:value] || '/bin/bash' check_critical_attribute( attribs, :record_name ) check_critical_attribute( attribs, :value, :shell ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'UserShell'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_state(attribs, dir_info) ⇒ Object
802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 802 def user_set_state(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:state] attribs[:value] = attribs[:value] || attribs[:st] check_critical_attribute( attribs, :value, :state ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'State'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_street(attribs, dir_info) ⇒ Object Also known as: user_set_address
819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 819 def user_set_street(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:address] attribs[:value] = attribs[:value] || attribs[:street] check_critical_attribute( attribs, :value, :street ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'Street'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_unique_id(attribs, dir_info) ⇒ Object
sudo dscl . -create /Users/someuser UniqueID “1010”
123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 123 def user_set_unique_id(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:uniqueid] attribs[:value] = attribs[:value] || attribs[:unique_id] attribs[:value] = attribs[:value] || attribs[:uid_number] attribs[:value] = attribs[:value] || attribs[:uidnumber] attribs[:value] = attribs[:value] || attribs[:usernumber] attribs[:value] = attribs[:value] || attribs[:user_number] check_critical_attribute( attribs, :value, :unique_id ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'UniqueID'} user_attrs = attribs.merge(command) # dscl( user_attrs, dir_info ) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_weblog(attribs, dir_info) ⇒ Object Also known as: user_set_blog
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -create /Users/$shortname_USERNAME apple-webloguri “$VALUE”
838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 838 def user_set_weblog(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:weblog] attribs[:value] = attribs[:value] || attribs[:blog] check_critical_attribute( attribs, :value, :weblog ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'WeblogURI'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |
#user_set_work_phone(attribs, dir_info) ⇒ Object
/usr/bin/dscl -u diradmin -P A-B1g-S3cret /LDAPv3/127.0.0.1 -append /Users/$shortname_USERNAME apple-keyword “$VALUE”
701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 |
# File 'lib/open_directory_utils/commands_user_attribs.rb', line 701 def user_set_work_phone(attribs, dir_info) attribs = user_record_name_alternatives(attribs) check_critical_attribute( attribs, :record_name ) attribs[:value] = attribs[:value] || attribs[:work_phone_number] attribs[:value] = attribs[:value] || attribs[:phone_number] attribs[:value] = attribs[:value] || attribs[:work_number] attribs[:value] = attribs[:value] || attribs[:work_phone] attribs[:value] = attribs[:value] || attribs[:number] attribs[:value] = attribs[:value] || attribs[:phone] check_critical_attribute( attribs, :value, :work_phone ) attribs = tidy_attribs(attribs) command = {action: 'create', scope: 'Users', attribute: 'PhoneNumber'} user_attrs = attribs.merge(command) answer = dscl( user_attrs, dir_info ) attribs[:value] = nil return answer end |