# File lib/puppet/provider/nameservice/directoryservice.rb, line 359
359:     def password=(passphrase)
360:       exec_arg_vector = self.class.get_exec_preamble("-read", @resource.name)
361:       exec_arg_vector << @@ns_to_ds_attribute_map[:guid]
362:       begin
363:           guid_output = execute(exec_arg_vector)
364:           guid_plist = Plist.parse_xml(guid_output)
365:           # Although GeneratedUID like all DirectoryService values can be multi-valued
366:           # according to the schema, in practice user accounts cannot have multiple UUIDs
367:           # otherwise Bad Things Happen, so we just deal with the first value.
368:           guid = guid_plist["dsAttrTypeStandard:#{@@ns_to_ds_attribute_map[:guid]}"][0]
369:           self.class.set_password(@resource.name, guid, passphrase)
370:       rescue Puppet::ExecutionFailure => detail
371:           fail("Could not set %s on %s[%s]: %s" % [param, @resource.class.name, @resource.name, detail])
372:       end
373:     end