J'écris une application pour vérifier si une imprimante réseau d'un serveur d'impression est connectée à une machine distante, mais qu'elle a des problèmes avec la partie distante ... J'utilise System.Printing et en transmettant le nom d'hôte/adresse IP distant via la variable 'compID'. Le problème que je vais avoir est que le code renvoie toujours les imprimantes en réseau sur ma machine locale plutôt que la machine distante:C# - Énumération des imprimantes réseau sur la machine distante
EnumeratedPrintQueueTypes[] compEnumerationFlags = { EnumeratedPrintQueueTypes.Connections };
PrintServer compPrinters = new PrintServer("\\\\" + compID);
PrintQueueCollection printQueuesOnComputer = compPrinters.GetPrintQueues(compEnumerationFlags);
List<string> compPrinterList = new List<string>();
foreach (PrintQueue printer in printQueuesOnComputer)
{
compPrinterList.Add(printer.Name);
}
string csv = string.Join("\n", compPrinterList.ToArray());
Microsoft.VisualBasic.Interaction.MsgBox(csv);
Pardonne le peu en désordre à la fin là-bas, mais il est juste un moyen rapide et sale moi de voir quels sont les résultats pour le moment. Ce qui est étrange, c'est que si je change la variable 'compID' en notre serveur d'impression et change les drapeaux de 'Connexions' en 'Partagé', alors le code retourne avec succès toutes les imprimantes partagées de notre serveur d'impression. Tout cela fonctionne en tant qu'administrateur sur notre domaine, ce qui ne devrait pas poser de problème ici.Y a-t-il quelque chose de simple que je néglige ou y at-il une sorte de restriction sur les types de machines auxquelles je peux me connecter avec PrintServer? ?
Où installez-vous compID? – TheKingDave
A partir d'une zone de texte plus tôt. Mais même si je code en dur une adresse IP/nom d'hôte dans "PrintServer compPrinters = new PrintServer (" \\\\ xxx.xxx.xxx.xxx ");" - alors je reçois exactement le même problème – cmode
Alors est doit être les drapeaux? Vous avez dit: Ce qui est étrange, c'est que si je change la variable 'compID' en notre serveur d'impression et change les drapeaux de 'Connexions' en 'Partagé', alors le code retourne toutes les imprimantes partagées de notre serveur d'impression. – TheKingDave