synthroid taking instructions

Inicio > Programacion > ¿Cómo encontrar todas las impresoras en el Active Directory?

¿Cómo encontrar todas las impresoras en el Active Directory?

martes, 19 de noviembre de 2024 Dejar un comentario Ir a comentarios

Si alguna vez quieres hacer una impresión a escala masiva, es necesario encontrar todas las impresoras en Active Directory, no sólo las que están conectados a su ordenador. Por extraño que parezca, el método para encontrar no es trivial. El código esta en C# y funciona en Visual Studio 2008.

[sql]
private void FindAllPrinters()
{
string[] wantedProps = { "name", "servername", "printername",
"drivername", "shortservername", "location" };
var ds = new DirectorySearcher { Filter = "(objectClass=printqueue)" };
foreach (SearchResult sr in ds.FindAll())
{
Debug.WriteLine(sr.Path);
ResultPropertyCollection rpc = sr.Properties;
// usa rpc.PropertyNames en lugar de wantedProps si quieres
// conocer mas acerca de las impresoras
foreach (string property in wantedProps)
{
foreach (object value in rpc[property])
Debug.WriteLine(string.Format("\t{0}: {1}", property, value));
}
}
}
[/sql]

Ten en cuenta que es necesario agregar una referencia a System.DirectoryServices. También hay que tener en cuenta que el código busca todas las impresoras de tu dominio. Si tienes muchos dominios en la organización, tendrás que obtener la lista y crear una instancia de clase DirectorySearcher por separado para cada uno.

  1. Sin comentarios aún.
  1. Sin trackbacks aún.