2013-07-30 7 views
6

Jak uzyskać nazwę domeny użytkownika drukującego z identyfikatorem zadania drukowania?Uzyskiwanie nazwy domeny użytkownika dla zadania drukowania za pomocą interfejsu API buforu wydruku

Mogę pobrać nazwę użytkownika z, na przykład, JOB_INFO_2 pobranego przez GetJob, ale żadna ze struktur JOB_INFO_ # nie zawiera nazwy domeny użytkownika.

Mogę uzyskać domenę serwera druku za pomocą IPGlobalProperties.GetIPGlobalProperties().DomainName, ale może to nie być to samo, co domena użytkownika, więc nie jest to niezawodne rozwiązanie.

+1

Czy to prawda, że ​​użytkownik może drukować na drukarce w innej domenie * bez * podania prawidłowego logowania do tej domeny? Nie znam siebie, ale zastanawiam się, czy może domena serwera druku jest wystarczająco dobra. –

+3

To był pierwotnie zarejestrowany jako [błąd] (http://support.microsoft.com/kb/156473) w NT 4.0> członek pUserName struktury JOB_INFO_2 nie zawiera informacji o domenie. – randcd

+0

@randcd - link nie trafia w odpowiednie miejsce. –

Odpowiedz

1

Nie wiem na pewno, ale wydaje mi się, że może nazwa użytkownika będzie zawierała domenę użytkownika (np. Nazwa @ domena), a może to się dzieje tylko wtedy, gdy użytkownik drukuje na drukarce w innej domenie . Może warto napisać jakiś kod i sprawdzić to.

+0

Wiem, że nie obejmuje domeny dla użytkownika w tej samej domenie, ale wygląda na to, że warto sprawdzić, czy zachowanie jest takie samo dla użytkownika z innej domeny. –

+0

Nie mam dostępu do środowiska, w którym sam mogę to sprawdzić, więc jeśli to zrobisz, udostępnij wyniki. – Stuart

1

Spróbuj użyć UserPrincipal.FindByIdentity(PrincipalContext, IdentityType, String), aby znaleźć użytkownika według nazwy użytkownika. Po znalezieniu użytkownika pobierz domenę z właściwością Kontekst użytkownika UserPrincipal.

Musisz dodać referncję do System.DirectoryServices.AccountManagement.

+0

Kod działający po poście, który demonstruje Twój pomysł i jest wart 50 punktów dla Ciebie. Na bounty obowiązuje 24-godzinny okres karencji. –

+0

Dzięki za pomysł. Spróbuję tego. –

Powiązane problemy