blob: 023df74df2bfa52a578b1a04e0a62c0049612a11 [file] [log] [blame]
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +02001<?php
2
3namespace Adldap\Schemas;
4
5interface SchemaInterface
6{
7 /**
8 * The date when the account expires. This value represents the number of 100-nanosecond
9 * intervals since January 1, 1601 (UTC). A value of 0 or 0x7FFFFFFFFFFFFFFF
10 * (9223372036854775807) indicates that the account never expires.
11 *
12 * @link https://msdn.microsoft.com/en-us/library/ms675098(v=vs.85).aspx
13 *
14 * @return string
15 */
16 public function accountExpires();
17
18 /**
19 * The logon name used to support clients and servers running earlier versions of the
20 * operating system, such as Windows NT 4.0, Windows 95, Windows 98,
21 * and LAN Manager. This attribute must be 20 characters or
22 * less to support earlier clients.
23 *
24 * @link https://msdn.microsoft.com/en-us/library/ms679635(v=vs.85).aspx
25 *
26 * @return string
27 */
28 public function accountName();
29
30 /**
31 * This attribute contains information about every account type object.
32 *
33 * @link https://msdn.microsoft.com/en-us/library/ms679637(v=vs.85).aspx
34 *
35 * @return string
36 */
37 public function accountType();
38
39 /**
40 * The name to be displayed on admin screens.
41 *
42 * @link https://msdn.microsoft.com/en-us/library/ms675214(v=vs.85).aspx
43 *
44 * @return string
45 */
46 public function adminDisplayName();
47
48 /**
49 * Ambiguous name resolution attribute to be used when choosing between objects.
50 *
51 * @link https://msdn.microsoft.com/en-us/library/ms675223(v=vs.85).aspx
52 *
53 * @return string
54 */
55 public function anr();
56
57 /**
58 * The number of times the user tried to log on to the account using
59 * an incorrect password. A value of 0 indicates that the
60 * value is unknown.
61 *
62 * @link https://msdn.microsoft.com/en-us/library/ms675244(v=vs.85).aspx
63 *
64 * @return string
65 */
66 public function badPasswordCount();
67
68 /**
69 * The last time and date that an attempt to log on to this
70 * account was made with a password that is not valid.
71 *
72 * @link https://msdn.microsoft.com/en-us/library/ms675243(v=vs.85).aspx
73 *
74 * @return string
75 */
76 public function badPasswordTime();
77
78 /**
79 * The name that represents an object.
80 *
81 * @link https://msdn.microsoft.com/en-us/library/ms675449(v=vs.85).aspx
82 *
83 * @return string
84 */
85 public function commonName();
86
87 /**
88 * The user's company name.
89 *
90 * @link https://msdn.microsoft.com/en-us/library/ms675457(v=vs.85).aspx
91 *
92 * @return string
93 */
94 public function company();
95
96 /**
97 * The object class computer string.
98 *
99 * Used when constructing new Computer models.
100 *
101 * @return string
102 */
103 public function computer();
104
105 /**
106 * The class name of the Computer model.
107 *
108 * @return string
109 */
110 public function computerModel();
111
112 /**
113 * DN enterprise configuration naming context.
114 *
115 * @link https://support.microsoft.com/en-us/kb/219005
116 *
117 * @return string
118 */
119 public function configurationNamingContext();
120
121 /**
122 * The object class contact string.
123 *
124 * Used when constructing new User models.
125 *
126 * @return string
127 */
128 public function contact();
129
130 /**
131 * The class name of the Contact model.
132 *
133 * @return string
134 */
135 public function contactModel();
136
137 /**
138 * The class name of the Container model.
139 *
140 * @return string
141 */
142 public function containerModel();
143
144 /**
145 * The entry's country attribute.
146 *
147 * @link https://msdn.microsoft.com/en-us/library/ms675432(v=vs.85).aspx
148 *
149 * @return string
150 */
151 public function country();
152
153 /**
154 * The entry's created at attribute.
155 *
156 * @link https://msdn.microsoft.com/en-us/library/ms680924(v=vs.85).aspx
157 *
158 * @return string
159 */
160 public function createdAt();
161
162 /**
163 * The entry's current time attribute.
164 *
165 * This attribute is only available with the Root DSE record.
166 *
167 * @return string
168 */
169 public function currentTime();
170
171 /**
172 * This is the default NC for a particular server.
173 *
174 * By default, the DN for the domain of which this directory server is a member.
175 *
176 * @link https://support.microsoft.com/en-us/kb/219005
177 *
178 * @return string
179 */
180 public function defaultNamingContext();
181
182 /**
183 * Contains the name for the department in which the user works.
184 *
185 * @link https://msdn.microsoft.com/en-us/library/ms675490(v=vs.85).aspx
186 *
187 * @return string
188 */
189 public function department();
190
191 /**
192 * Identifies a department within an organization.
193 *
194 * @link https://msdn.microsoft.com/en-us/library/ms675491(v=vs.85).aspx
195 *
196 * @return string
197 */
198 public function departmentNumber();
199
200 /**
201 * Contains the description to display for an object. This value is restricted
202 * as single-valued for backward compatibility in some cases but
203 * is allowed to be multi-valued in others.
204 *
205 * @link https://msdn.microsoft.com/en-us/library/ms675492(v=vs.85).aspx
206 *
207 * @return string
208 */
209 public function description();
210
211 /**
212 * The display name for an object. This is usually the combination
213 * of the users first name, middle initial, and last name.
214 *
215 * @link https://msdn.microsoft.com/en-us/library/ms675514(v=vs.85).aspx
216 *
217 * @return string
218 */
219 public function displayName();
220
221 /**
222 * The LDAP API references an LDAP object by its distinguished name (DN).
223 *
224 * A DN is a sequence of relative distinguished names (RDN) connected by commas.
225 *
226 * @link https://msdn.microsoft.com/en-us/library/aa366101(v=vs.85).aspx
227 *
228 * @return string
229 */
230 public function distinguishedName();
231
232 /**
233 * The LDAP API references an LDAP object by its distinguished name (DN).
234 *
235 * Different vendors expect the value of the distinguished name to be in
236 * different places. For example ActiveDirectory expects distinguishedname
237 * value to be the first element in an array, however OpenLDAP expects
238 * the dn attribute to contain the value, not an array.
239 *
240 * @deprecated since 10.0.0
241 *
242 * @return int|null
243 */
244 public function distinguishedNameSubKey();
245
246 /**
247 * Name of computer as registered in DNS.
248 *
249 * @link https://msdn.microsoft.com/en-us/library/ms675524(v=vs.85).aspx
250 *
251 * @return string
252 */
253 public function dnsHostName();
254
255 /**
256 * Domain Component located inside an RDN.
257 *
258 * @link https://msdn.microsoft.com/en-us/library/aa366101(v=vs.85).aspx
259 *
260 * @return string
261 */
262 public function domainComponent();
263
264 /**
265 * The device driver name.
266 *
267 * @link https://msdn.microsoft.com/en-us/library/ms675652(v=vs.85).aspx
268 *
269 * @return string
270 */
271 public function driverName();
272
273 /**
274 * The Version number of device driver.
275 *
276 * @link https://msdn.microsoft.com/en-us/library/ms675653(v=vs.85).aspx
277 *
278 * @return string
279 */
280 public function driverVersion();
281
282 /**
283 * The list of email addresses for a contact.
284 *
285 * @link https://msdn.microsoft.com/en-us/library/ms676855(v=vs.85).aspx
286 *
287 * @return string
288 */
289 public function email();
290
291 /**
292 * The email nickname for the user.
293 *
294 * @return string
295 */
296 public function emailNickname();
297
298 /**
299 * The ID of an employee.
300 *
301 * @link https://msdn.microsoft.com/en-us/library/ms675662(v=vs.85).aspx
302 *
303 * @return string
304 */
305 public function employeeId();
306
307 /**
308 * The number assigned to an employee other than the ID.
309 *
310 * @link https://msdn.microsoft.com/en-us/library/ms675663(v=vs.85).aspx
311 *
312 * @return string
313 */
314 public function employeeNumber();
315
316 /**
317 * The job category for an employee.
318 *
319 * @link https://msdn.microsoft.com/en-us/library/ms675664(v=vs.85).aspx
320 *
321 * @return string
322 */
323 public function employeeType();
324
325 /**
326 * The class name of the Entry model.
327 *
328 * @return string
329 */
330 public function entryModel();
331
332 /**
333 * The LDAP `false` boolean in string form for conversion.
334 *
335 * @return string
336 */
337 public function false();
338
339 /**
340 * The LDAP filter to query for enabled users.
341 *
342 * @return mixed
343 */
344 public function filterEnabled();
345
346 /**
347 * The LDAP filter to query for disabled users.
348 *
349 * @return mixed
350 */
351 public function filterDisabled();
352
353 /**
354 * Contains the given name (first name) of the user.
355 *
356 * @link https://msdn.microsoft.com/en-us/library/ms675719(v=vs.85).aspx
357 *
358 * @return string
359 */
360 public function firstName();
361
362 /**
363 * The class name of the Group model.
364 *
365 * @return string
366 */
367 public function groupModel();
368
369 /**
370 * Contains a set of flags that define the type and scope of a group object.
371 *
372 * @link https://msdn.microsoft.com/en-us/library/ms675935(v=vs.85).aspx
373 *
374 * @return string
375 */
376 public function groupType();
377
378 /**
379 * A user's home address.
380 *
381 * @link https://msdn.microsoft.com/en-us/library/ms676193(v=vs.85).aspx
382 *
383 * @return string
384 */
385 public function homeAddress();
386
387 /**
388 * The users mailbox database location.
389 *
390 * @return string
391 */
392 public function homeMdb();
393
394 /**
395 * Specifies the drive letter to which to map the UNC path specified by homeDirectory.
396 *
397 * @link https://msdn.microsoft.com/en-us/library/ms676191(v=vs.85).aspx
398 *
399 * @return string|null
400 */
401 public function homeDrive();
402
403 /**
404 * The home directory for the account.
405 *
406 * @link https://msdn.microsoft.com/en-us/library/ms676190(v=vs.85).aspx
407 *
408 * @return string|null
409 */
410 public function homeDirectory();
411
412 /**
413 * The user's main home phone number.
414 *
415 * @link https://docs.microsoft.com/en-us/windows/desktop/ADSchema/a-homephone
416 *
417 * @return string|null
418 */
419 public function homePhone();
420
421 /**
422 * The users extra notable information.
423 *
424 * @return string
425 */
426 public function info();
427
428 /**
429 * Contains the initials for parts of the user's full name.
430 *
431 * This may be used as the middle initial in the Windows Address Book.
432 *
433 * @link https://msdn.microsoft.com/en-us/library/ms676202(v=vs.85).aspx
434 *
435 * @return string
436 */
437 public function initials();
438
439 /**
440 * A bitfield that dictates how the object is instantiated on a particular server.
441 *
442 * The value of this attribute can differ on different replicas even if the replicas are in sync.
443 *
444 * @link https://msdn.microsoft.com/en-us/library/ms676204(v=vs.85).aspx
445 *
446 * @return string
447 */
448 public function instanceType();
449
450 /**
451 * Specifies the TCP/IP address for the phone. Used by telephony.
452 *
453 * @link https://msdn.microsoft.com/en-us/library/cc221092.aspx
454 *
455 * @return string
456 */
457 public function ipPhone();
458
459 /**
460 * If TRUE, the object hosting this attribute must be replicated during installation of a new replica.
461 *
462 * @link https://msdn.microsoft.com/en-us/library/ms676798(v=vs.85).aspx
463 *
464 * @return string
465 */
466 public function isCriticalSystemObject();
467
468 /**
469 * Used to store one or more images of a person using the JPEG File Interchange Format [JFIF].
470 *
471 * @link https://msdn.microsoft.com/en-us/library/ms676813(v=vs.85).aspx
472 *
473 * @return string
474 */
475 public function jpegPhoto();
476
477 /**
478 * This attribute is not used.
479 *
480 * @link https://msdn.microsoft.com/en-us/library/ms676822(v=vs.85).aspx
481 *
482 * @return string
483 */
484 public function lastLogOff();
485
486 /**
487 * The last time the user logged on. This value is stored as a large integer that
488 * represents the number of 100-nanosecond intervals since January 1, 1601 (UTC).
489 *
490 * A value of zero means that the last logon time is unknown.
491 *
492 * @link https://msdn.microsoft.com/en-us/library/ms676823(v=vs.85).aspx
493 *
494 * @return string
495 */
496 public function lastLogOn();
497
498 /**
499 * This is the time that the user last logged into the domain.
500 *
501 * @link https://msdn.microsoft.com/en-us/library/ms676824(v=vs.85).aspx
502 *
503 * @return string
504 */
505 public function lastLogOnTimestamp();
506
507 /**
508 * This attribute contains the family or last name for a user.
509 *
510 * @link https://msdn.microsoft.com/en-us/library/ms679872(v=vs.85).aspx
511 *
512 * @return string
513 */
514 public function lastName();
515
516 /**
517 * The distinguished name previously used by Exchange.
518 *
519 * @link https://msdn.microsoft.com/en-us/library/ms676830(v=vs.85).aspx
520 *
521 * @return string
522 */
523 public function legacyExchangeDn();
524
525 /**
526 * The users locale.
527 *
528 * @return string
529 */
530 public function locale();
531
532 /**
533 * The user's location, such as office number.
534 *
535 * @link https://msdn.microsoft.com/en-us/library/ms676839(v=vs.85).aspx
536 *
537 * @return string
538 */
539 public function location();
540
541 /**
542 * The date and time (UTC) that this account was locked out. This value is stored
543 * as a large integer that represents the number of 100-nanosecond intervals
544 * since January 1, 1601 (UTC). A value of zero means that the
545 * account is not currently locked out.
546 *
547 * @link https://msdn.microsoft.com/en-us/library/ms676843(v=vs.85).aspx
548 *
549 * @return string
550 */
551 public function lockoutTime();
552
553 /**
554 * Contains the distinguished name of the user who is the user's manager.
555 *
556 * The manager's user object contains a directReports property that
557 * contains references to all user objects that have their manager
558 * properties set to this distinguished name.
559 *
560 * @link https://msdn.microsoft.com/en-us/library/ms676859(v=vs.85).aspx
561 *
562 * @return string
563 */
564 public function manager();
565
566 /**
567 * The distinguished name of the user that is assigned to manage this object.
568 *
569 * @link https://docs.microsoft.com/en-us/windows/desktop/adschema/a-managedby
570 *
571 * @return string
572 */
573 public function managedBy();
574
575 /**
576 * The maximum amount of time, in 100-nanosecond intervals, a password is valid.
577 *
578 * This value is stored as a large integer that represents the number of
579 * 100-nanosecond intervals from the time the password was set
580 * before the password expires.
581 *
582 * @link https://msdn.microsoft.com/en-us/library/ms676863(v=vs.85).aspx
583 *
584 * @return string
585 */
586 public function maxPasswordAge();
587
588 /**
589 * The list of users that belong to the group.
590 *
591 * @link https://msdn.microsoft.com/en-us/library/ms677097(v=vs.85).aspx
592 *
593 * @return string
594 */
595 public function member();
596
597 /**
598 * The identifier of records that belong to a group.
599 *
600 * For example, in ActiveDirectory, the 'member' attribute on
601 * a group record contains a list of distinguished names,
602 * so `distinguishedname` would be the identifier.
603 *
604 * In other environments such as Sun Directory
605 * Server, this identifier would be `uid`.
606 *
607 * @return string
608 */
609 public function memberIdentifier();
610
611 /**
612 * The distinguished names of the groups to which this object belongs.
613 *
614 * @link https://msdn.microsoft.com/en-us/library/ms677099(v=vs.85).aspx
615 *
616 * @return string
617 */
618 public function memberOf();
619
620 /**
621 * The distinguished names of the groups to which this object belongs.
622 *
623 * This string contains a rule OID indicating the inclusion of ancestral and child members.
624 *
625 * @link https://msdn.microsoft.com/en-us/library/ms677099(v=vs.85).aspx
626 * @link https://msdn.microsoft.com/en-us/library/aa746475(v=vs.85).aspx
627 *
628 * @return string
629 */
630 public function memberOfRecursive();
631
632 /**
633 * The range limited list of users that belong to the group. See range limit in Active Directory
634 * (Range Retrieval of Attribute Values https://msdn.microsoft.com/en-us/library/cc223242.aspx)
635 * Issue #342.
636 *
637 * @link https://msdn.microsoft.com/en-us/library/ms677097(v=vs.85).aspx
638 *
639 * @param string|int $from
640 * @param string|int $to
641 *
642 * @return string
643 */
644 public function memberRange($from, $to);
645
646 /**
647 * @link https://msdn.microsoft.com/en-us/library/ms981934(v=exchg.65).aspx
648 *
649 * @return string
650 */
651 public function messageTrackingEnabled();
652
653 /**
654 * The object category of an exchange server.
655 *
656 * @return string
657 */
658 public function msExchangeServer();
659
660 /**
661 * The general name of the entry.
662 *
663 * @return string
664 */
665 public function name();
666
667 /**
668 * Returns a string value indicating that an account does not expire.
669 *
670 * @return string
671 */
672 public function neverExpiresDate();
673
674 /**
675 * An object class name used to group objects of this or derived classes.
676 *
677 * @link https://msdn.microsoft.com/en-us/library/ms679011(v=vs.85).aspx
678 *
679 * @return string
680 */
681 public function objectCategory();
682
683 /**
684 * The computer object category.
685 *
686 * @return string
687 */
688 public function objectCategoryComputer();
689
690 /**
691 * The container object category.
692 *
693 * @return string
694 */
695 public function objectCategoryContainer();
696
697 /**
698 * The exchange private MDB category.
699 *
700 * @return string
701 */
702 public function objectCategoryExchangePrivateMdb();
703
704 /**
705 * The exchange server object category.
706 *
707 * @return string
708 */
709 public function objectCategoryExchangeServer();
710
711 /**
712 * The exchange storage group object category.
713 *
714 * @return string
715 */
716 public function objectCategoryExchangeStorageGroup();
717
718 /**
719 * The group object category.
720 *
721 * @return string
722 */
723 public function objectCategoryGroup();
724
725 /**
726 * The organizational unit category.
727 *
728 * @return string
729 */
730 public function objectCategoryOrganizationalUnit();
731
732 /**
733 * The person object category.
734 *
735 * @return string
736 */
737 public function objectCategoryPerson();
738
739 /**
740 * The printer object category.
741 *
742 * @return string
743 */
744 public function objectCategoryPrinter();
745
746 /**
747 * The list of classes from which this class is derived.
748 *
749 * @link https://msdn.microsoft.com/en-us/library/ms679012(v=vs.85).aspx
750 *
751 * @return string
752 */
753 public function objectClass();
754
755 /**
756 * The computer object class.
757 *
758 * @return string
759 */
760 public function objectClassComputer();
761
762 /**
763 * The contact object class.
764 *
765 * @return string
766 */
767 public function objectClassContact();
768
769 /**
770 * The container object class.
771 *
772 * @return string
773 */
774 public function objectClassContainer();
775
776 /**
777 * The group object class.
778 *
779 * @return string
780 */
781 public function objectClassGroup();
782
783 /**
784 * The ou object class.
785 *
786 * @return string
787 */
788 public function objectClassOu();
789
790 /**
791 * The person object class.
792 *
793 * Represents people who are associated with an organization in some way.
794 *
795 * @return string
796 */
797 public function objectClassPerson();
798
799 /**
800 * The printer object class.
801 *
802 * @link https://msdn.microsoft.com/en-us/library/ms683911(v=vs.85).aspx
803 *
804 * @return string
805 */
806 public function objectClassPrinter();
807
808 /**
809 * The user object class.
810 *
811 * @return string
812 */
813 public function objectClassUser();
814
815 /**
816 * The object class model map.
817 *
818 * @return array
819 */
820 public function objectClassModelMap();
821
822 /**
823 * The unique identifier for an object.
824 *
825 * @link https://msdn.microsoft.com/en-us/library/ms679021(v=vs.85).aspx
826 *
827 * @return string
828 */
829 public function objectGuid();
830
831 /**
832 * Determine whether the object GUID requires conversion from binary.
833 *
834 * @return bool
835 */
836 public function objectGuidRequiresConversion();
837
838 /**
839 * A binary value that specifies the security identifier (SID) of the user.
840 *
841 * The SID is a unique value used to identify the user as a security principal.
842 *
843 * @link https://msdn.microsoft.com/en-us/library/ms679024(v=vs.85).aspx
844 *
845 * @return string
846 */
847 public function objectSid();
848
849 /**
850 * Determine whether the object SID requires conversion from binary.
851 *
852 * @return bool
853 */
854 public function objectSidRequiresConversion();
855
856 /**
857 * The Operating System name, for example, Windows Vista Enterprise.
858 *
859 * @link https://msdn.microsoft.com/en-us/library/ms679076(v=vs.85).aspx
860 *
861 * @return string
862 */
863 public function operatingSystem();
864
865 /**
866 * The operating system service pack ID string (for example, SP3).
867 *
868 * @link https://msdn.microsoft.com/en-us/library/ms679078(v=vs.85).aspx
869 *
870 * @return string
871 */
872 public function operatingSystemServicePack();
873
874 /**
875 * The operating system version string, for example, 4.0.
876 *
877 * @link https://msdn.microsoft.com/en-us/library/ms679079(v=vs.85).aspx
878 *
879 * @return string
880 */
881 public function operatingSystemVersion();
882
883 /**
884 * The RDN version of organization name for use in distinguished names.
885 *
886 * @return mixed
887 */
888 public function organizationName();
889
890 /**
891 * This class is used for objects that contain organizational information about a user,
892 * such as the employee number, department, manager, title, office address, and so on.
893 *
894 * @link https://msdn.microsoft.com/en-us/library/ms683883(v=vs.85).aspx
895 *
896 * @return string
897 */
898 public function organizationalPerson();
899
900 /**
901 * A container for storing users, computers, and other account objects.
902 *
903 * @link https://msdn.microsoft.com/en-us/library/ms683886(v=vs.85).aspx
904 *
905 * @return string
906 */
907 public function organizationalUnit();
908
909 /**
910 * The class name of the Organizational Unit model.
911 *
912 * @return string
913 */
914 public function organizationalUnitModel();
915
916 /**
917 * The RDN version of organizational unit for use in distinguished names.
918 *
919 * @return string
920 */
921 public function organizationalUnitShort();
922
923 /**
924 * Contains other additional mail addresses in a form such as CCMAIL: JohnDoe.
925 *
926 * @link https://msdn.microsoft.com/en-us/library/ms679091(v=vs.85).aspx
927 *
928 * @return string
929 */
930 public function otherMailbox();
931
932 /**
933 * The date and time that the password for this account was last changed.
934 *
935 * This value is stored as a large integer that represents the number of 100 nanosecond intervals
936 * since January 1, 1601 (UTC). If this value is set to 0 and the User-Account-Control attribute
937 * does not contain the UF_DONT_EXPIRE_PASSWD flag, then the user must set the password at
938 * the next logon.
939 *
940 * @link https://msdn.microsoft.com/en-us/library/ms679430(v=vs.85).aspx
941 *
942 * @return string
943 */
944 public function passwordLastSet();
945
946 /**
947 * The person object class.
948 *
949 * @link https://msdn.microsoft.com/en-us/library/ms683895(v=vs.85).aspx
950 *
951 * @return string
952 */
953 public function person();
954
955 /**
956 * The user's title.
957 *
958 * @link https://msdn.microsoft.com/en-us/library/ms679115(v=vs.85).aspx
959 *
960 * @return string
961 */
962 public function personalTitle();
963
964 /**
965 * Contains the office location in the user's place of business.
966 *
967 * @link https://msdn.microsoft.com/en-us/library/ms679117(v=vs.85).aspx
968 *
969 * @return string
970 */
971 public function physicalDeliveryOfficeName();
972
973 /**
974 * List of port names. For example, for printer ports or comm ports.
975 *
976 * @link https://msdn.microsoft.com/en-us/library/ms679131(v=vs.85).aspx
977 *
978 * @return string
979 */
980 public function portName();
981
982 /**
983 * The postal or zip code for mail delivery.
984 *
985 * @link https://msdn.microsoft.com/en-us/library/ms679366(v=vs.85).aspx
986 *
987 * @return string
988 */
989 public function postalCode();
990
991 /**
992 * The post office box number for this object.
993 *
994 * @link https://msdn.microsoft.com/en-us/library/ms679367(v=vs.85).aspx
995 *
996 * @return string
997 */
998 public function postOfficeBox();
999
1000 /**
1001 * Contains the relative identifier (RID) for the primary group of the user.
1002 *
1003 * By default, this is the RID for the Domain Users group.
1004 *
1005 * @link https://msdn.microsoft.com/en-us/library/ms679375(v=vs.85).aspx
1006 *
1007 * @return string
1008 */
1009 public function primaryGroupId();
1010
1011 /**
1012 * A list of printer bin names.
1013 *
1014 * @link https://msdn.microsoft.com/en-us/library/ms679380(v=vs.85).aspx
1015 *
1016 * @return string
1017 */
1018 public function printerBinNames();
1019
1020 /**
1021 * If a printer can print in color.
1022 *
1023 * @link https://msdn.microsoft.com/en-us/library/ms679382(v=vs.85).aspx
1024 *
1025 * @return string
1026 */
1027 public function printerColorSupported();
1028
1029 /**
1030 * Indicates the type of duplex support a printer has.
1031 *
1032 * @link https://msdn.microsoft.com/en-us/library/ms679383(v=vs.85).aspx
1033 *
1034 * @return string
1035 */
1036 public function printerDuplexSupported();
1037
1038 /**
1039 * The time a print queue stops servicing jobs.
1040 *
1041 * @link https://msdn.microsoft.com/en-us/library/ms679384(v=vs.85).aspx
1042 *
1043 * @return string
1044 */
1045 public function printerEndTime();
1046
1047 /**
1048 * The maximum printer resolution.
1049 *
1050 * @link https://msdn.microsoft.com/en-us/library/ms679391(v=vs.85).aspx
1051 *
1052 * @return string
1053 */
1054 public function printerMaxResolutionSupported();
1055
1056 /**
1057 * A list of media supported by a printer.
1058 *
1059 * @link https://msdn.microsoft.com/en-us/library/ms679395(v=vs.85).aspx
1060 *
1061 * @return string
1062 */
1063 public function printerMediaSupported();
1064
1065 /**
1066 * The amount of memory installed in a printer.
1067 *
1068 * @link https://msdn.microsoft.com/en-us/library/ms679396(v=vs.85).aspx
1069 *
1070 * @return string
1071 */
1072 public function printerMemory();
1073
1074 /**
1075 * The class name of the Printer model.
1076 *
1077 * @return string
1078 */
1079 public function printerModel();
1080
1081 /**
1082 * The display name of an attached printer.
1083 *
1084 * @link https://msdn.microsoft.com/en-us/library/ms679385(v=vs.85).aspx
1085 *
1086 * @return string
1087 */
1088 public function printerName();
1089
1090 /**
1091 * The page rotation for landscape printing.
1092 *
1093 * @link https://msdn.microsoft.com/en-us/library/ms679402(v=vs.85).aspx
1094 *
1095 * @return string
1096 */
1097 public function printerOrientationSupported();
1098
1099 /**
1100 * Driver-supplied print rate.
1101 *
1102 * @link https://msdn.microsoft.com/en-us/library/ms679405(v=vs.85).aspx
1103 *
1104 * @return string
1105 */
1106 public function printerPrintRate();
1107
1108 /**
1109 * Driver-supplied print rate unit.
1110 *
1111 * @link https://msdn.microsoft.com/en-us/library/ms679406(v=vs.85).aspx
1112 *
1113 * @return string
1114 */
1115 public function printerPrintRateUnit();
1116
1117 /**
1118 * The printer's share name.
1119 *
1120 * @link https://msdn.microsoft.com/en-us/library/ms679408(v=vs.85).aspx
1121 *
1122 * @return string
1123 */
1124 public function printerShareName();
1125
1126 /**
1127 * If the printer supports stapling. Supplied by the driver.
1128 *
1129 * @link https://msdn.microsoft.com/en-us/library/ms679410(v=vs.85).aspx
1130 *
1131 * @return string
1132 */
1133 public function printerStaplingSupported();
1134
1135 /**
1136 * The time a print queue begins servicing jobs.
1137 *
1138 * @link https://msdn.microsoft.com/en-us/library/ms679411(v=vs.85).aspx
1139 *
1140 * @return string
1141 */
1142 public function printerStartTime();
1143
1144 /**
1145 * The current priority (of a process, print job, and so on).
1146 *
1147 * @link https://msdn.microsoft.com/en-us/library/ms679413(v=vs.85).aspx
1148 *
1149 * @return string
1150 */
1151 public function priority();
1152
1153 /**
1154 * Specifies a path to the user's profile. This value can be a null
1155 * string, a local absolute path, or a UNC path.
1156 *
1157 * @link https://msdn.microsoft.com/en-us/library/ms679422(v=vs.85).aspx
1158 *
1159 * @return string
1160 */
1161 public function profilePath();
1162
1163 /**
1164 * A proxy address is the address by which a Microsoft Exchange Server recipient
1165 * object is recognized in a foreign mail system. Proxy addresses are required
1166 * for all recipient objects, such as custom recipients and distribution lists.
1167 *
1168 * @link https://msdn.microsoft.com/en-us/library/ms679424(v=vs.85).aspx
1169 *
1170 * @return string
1171 */
1172 public function proxyAddresses();
1173
1174 /**
1175 * The room number of an object.
1176 *
1177 * @link https://msdn.microsoft.com/en-us/library/ms679615(v=vs.85).aspx
1178 *
1179 * @return string
1180 */
1181 public function roomNumber();
1182
1183 /**
1184 * The DN of the root domain NC for this DC's forest.
1185 *
1186 * @link https://msdn.microsoft.com/en-us/library/cc223262.aspx
1187 *
1188 * @return mixed
1189 */
1190 public function rootDomainNamingContext();
1191
1192 /**
1193 * The attribute.
1194 *
1195 * @return mixed
1196 */
1197 public function schemaNamingContext();
1198
1199 /**
1200 * This attribute specifies the path for the user's logon script. The string can be null.
1201 *
1202 * @link https://msdn.microsoft.com/en-us/library/ms679656(v=vs.85).aspx
1203 *
1204 * @return string
1205 */
1206 public function scriptPath();
1207
1208 /**
1209 * Part of X.500 specification. Not used by Active Directory.
1210 *
1211 * @link https://msdn.microsoft.com/en-us/library/ms679771(v=vs.85).aspx
1212 *
1213 * @return string
1214 */
1215 public function serialNumber();
1216
1217 /**
1218 * The name of a server.
1219 *
1220 * @link https://msdn.microsoft.com/en-us/library/ms679772(v=vs.85).aspx
1221 *
1222 * @return string
1223 */
1224 public function serverName();
1225
1226 /**
1227 * This attribute is used to indicate in which MAPI address books an object will appear.
1228 *
1229 * It is usually maintained by the Exchange Recipient Update Service.
1230 *
1231 * @link https://msdn.microsoft.com/en-us/library/ms679822(v=vs.85).aspx
1232 *
1233 * @return string
1234 */
1235 public function showInAddressBook();
1236
1237 /**
1238 * The street address.
1239 *
1240 * @link https://msdn.microsoft.com/en-us/library/ms679882(v=vs.85).aspx
1241 *
1242 * @return string
1243 */
1244 public function street();
1245
1246 /**
1247 * The street address.
1248 *
1249 * @link https://msdn.microsoft.com/en-us/library/ms679882(v=vs.85).aspx
1250 *
1251 * @return string
1252 */
1253 public function streetAddress();
1254
1255 /**
1256 * An integer value that contains flags that define additional properties of the class.
1257 *
1258 * @link https://msdn.microsoft.com/en-us/library/ms680022(v=vs.85).aspx
1259 *
1260 * @return string
1261 */
1262 public function systemFlags();
1263
1264 /**
1265 * The primary telephone number.
1266 *
1267 * @link https://msdn.microsoft.com/en-us/library/ms680027(v=vs.85).aspx
1268 *
1269 * @return string
1270 */
1271 public function telephone();
1272
1273 /**
1274 * The primary mobile phone number.
1275 *
1276 * @link https://docs.microsoft.com/en-us/windows/desktop/adschema/a-mobile
1277 *
1278 * @return string
1279 */
1280 public function mobile();
1281
1282 /**
1283 * The secondary mobile phone number.
1284 *
1285 * @link https://docs.microsoft.com/en-us/windows/desktop/ADSchema/a-othermobile
1286 *
1287 * @return string
1288 */
1289 public function otherMobile();
1290
1291 /**
1292 * The users thumbnail photo path.
1293 *
1294 * @return string
1295 */
1296 public function thumbnail();
1297
1298 /**
1299 * Contains the user's job title.
1300 *
1301 * @link https://msdn.microsoft.com/en-us/library/ms680037(v=vs.85).aspx
1302 *
1303 * @return string
1304 */
1305 public function title();
1306
1307 /**
1308 * The top level class from which all classes are derived.
1309 *
1310 * @link https://msdn.microsoft.com/en-us/library/ms683975(v=vs.85).aspx
1311 *
1312 * @return string
1313 */
1314 public function top();
1315
1316 /**
1317 * The LDAP `true` boolean in string form for conversion.
1318 *
1319 * @return string
1320 */
1321 public function true();
1322
1323 /**
1324 * The password of the user in Windows NT one-way format (OWF). Windows 2000 uses the Windows NT OWF.
1325 *
1326 * @link https://msdn.microsoft.com/en-us/library/ms680513(v=vs.85).aspx
1327 *
1328 * @return string
1329 */
1330 public function unicodePassword();
1331
1332 /**
1333 * The date when this object was last changed.
1334 *
1335 * @link https://msdn.microsoft.com/en-us/library/ms680921(v=vs.85).aspx
1336 *
1337 * @return string
1338 */
1339 public function updatedAt();
1340
1341 /**
1342 * The entry's URL attribute.
1343 *
1344 * @return string
1345 */
1346 public function url();
1347
1348 /**
1349 * The user object class.
1350 *
1351 * This class is used to store information about an employee or contractor who works for an organization.
1352 *
1353 * @link https://msdn.microsoft.com/en-us/library/ms683980(v=vs.85).aspx
1354 *
1355 * @return string
1356 */
1357 public function user();
1358
1359 /**
1360 * Flags that control the behavior of the user account.
1361 *
1362 * @link https://msdn.microsoft.com/en-us/library/ms680832(v=vs.85).aspx
1363 *
1364 * @return string
1365 */
1366 public function userAccountControl();
1367
1368 /**
1369 * The user ID attribute.
1370 *
1371 * @return string
1372 */
1373 public function userId();
1374
1375 /**
1376 * The class name of the User model.
1377 *
1378 * @return string
1379 */
1380 public function userModel();
1381
1382 /**
1383 * The object classes that User models must be constructed with.
1384 *
1385 * @return array
1386 */
1387 public function userObjectClasses(): array;
1388
1389 /**
1390 * This attribute contains the UPN that is an Internet-style login name for
1391 * a user based on the Internet standard RFC 822.
1392 *
1393 * @link https://msdn.microsoft.com/en-us/library/ms680857(v=vs.85).aspx
1394 *
1395 * @return string
1396 */
1397 public function userPrincipalName();
1398
1399 /**
1400 * Contains the NetBIOS or DNS names of the computers running Windows NT Workstation
1401 * or Windows 2000 Professional from which the user can log on.
1402 *
1403 * Each NetBIOS name is separated by a comma.
1404 *
1405 * Multiple names should be separated by commas.
1406 *
1407 * @link https://msdn.microsoft.com/en-us/library/ms680868(v=vs.85).aspx
1408 *
1409 * @return string
1410 */
1411 public function userWorkstations();
1412
1413 /**
1414 * A general purpose version number.
1415 *
1416 * @link https://msdn.microsoft.com/en-us/library/ms680897(v=vs.85).aspx
1417 *
1418 * @return string
1419 */
1420 public function versionNumber();
1421}