ho questo semplice linea di codice:FileNotFoundException a System.DirectoryServices.Interop.UnsafeNativeMethods.IAds.GetInfo()
var entry = new DirectoryEntry("WinNT://DOMAIN/MachineName, Computer");
Console.WriteLine(entry.Guid);
In realtà, il percorso è alimentato dalla linea di comando. Questa semplice App Console è stata compilata per i test e nei miei test trovo che:
- Connessione al mio PC Windows 7 funziona.
- Connessione a qualsiasi altra macchina Windows XP sulla rete, funziona.
- Collegamento a qualsiasi altro di Windows 7 macchine sulla rete viene a mancare con:
Eccezione non gestita: System.IO.FileNotFoundException: Il percorso di rete non è stato trovato.
a System.DirectoryServices.Interop.UnsafeNativeMethods.IAds.GetInfo() a System.DirectoryServices.DirectoryEntry.RefreshCache() a System.DirectoryServices.DirectoryEntry.FillCache (String propertyName) a System.DirectoryServices.DirectoryEntry. get_NativeGuid() a System.DirectoryServices.DirectoryEntry.get_Guid() a GetDirectoryEntryProperties.Program.Main (String [] args) in D: \ GetDirectoryEntryProperties \ Program.cs: linea 15
Tutte le idee?
Sono un amministratore su tutte le macchine, tuttavia ho avuto un altro problema causato da un servizio di blocco dispositivo che ha causato un interrogazione UnauthorizedAccessException
, ma in questo caso non riesco nemmeno a leggere il Guid della macchina.
Il registro eventi non mostra nulla di utile.
Luca
Penso che avete bisogno di cambiare questo 'WinNT: //' per Windows 7 macchine. questo è un colpo nel buio Guess. – Malachi
Ho appena creato uno script VBS usando GetObject e il provider WinNT e sto leggendo bene il Guid così qualcosa.NET non gli piace. Penso che .NET imponga un RefreshCache su tutte le proprietà mentre il modo COM non lo fa. Potrei forzarlo da VBS e vedere se emergono errori decenti. –
puoi mostrare altro codice? l'ultima riga del tuo errore fa riferimento a 'D: \ GetDirectoryEnttryProperties \ Program.cs: riga 15' e' .cs' è l'estensione del file per 'C#' File ??? – Malachi