NullReferenceException?

Hallo,

ich bin dabei, ein Programm zu schreiben (in C#), welches mit Hilfe von WMI auf die Registry zugreift, um dort Informationen zu einem angegebenen Rechner zu holen. Dabei bin ich auf ein Problem gestoßen:

Dann habe ich natürlich den Rat befolgt und habe bei den Rechnern den vorgeschlagenen Code durchgeführt. Nun aber kommt ein neuer Fehler, mit dem ich nicht so recht weiß, etwas anzufangen.

Dieser hier:

Hat da jemand eine Ahnung?

Hier der Code:

  static void Main(string[] args)
  {
    string computer = hostName;
    string domain = "edis";
    string username = "sysadmin";
    string plaintextpassword;
    SecureString securepassword = new SecureString();
  
    foreach (char c in plaintextpassword)
    {
      securepassword.AppendChar(c);
    }
  
    CimCredential Credentials = new CimCredential(PasswordAuthenticationMechanism.Default, domain, username, securepassword);
    WSManSessionOptions SessionOptions = new WSManSessionOptions();
    SessionOptions.AddDestinationCredentials(Credentials);
    CimSession Session = CimSession.Create(computer, SessionOptions);
  
    var allProc = Session.QueryInstances(@"root\cimv2", "WQL", "SELECT * from Win32_Processor");
    var allOP = Session.QueryInstances(@"root\cimv2", "WQL", "SELECT * FROM Win32_OperatingSystem");
    var allCS = Session.QueryInstances(@"root\cimv2", "WQL", "SELECT* FROM Win32_ComputerSystem");
    Console.WriteLine(allProc);
  
    foreach (CimInstance oneP in allProc)
    {
      if (oneP.CimInstanceProperties["DriveLetter"].ToString()[0] > ' ')
      {
        Console.WriteLine("Volume ‘{0}’ has {1} bytes total, {2} bytes available", oneP.CimInstanceProperties["Name"], oneP.CimInstanceProperties["Size"], oneP.CimInstanceProperties["SizeRemaining"]);
      }
    }
  
    foreach (CimInstance oneOP in allOP)
    {
      if (oneOP.CimInstanceProperties["DriveLetter"].ToString()[0] > ' ')
      {
        Console.WriteLine("Volume ‘{0}’ has {1} bytes total, {2} bytes available", oneOP.CimInstanceProperties["csname"], oneOP.CimInstanceProperties["Caption"], oneOP.CimInstanceProperties["Version"]);
    }
  }

    // Loop through all volumes
    foreach (CimInstance oneCP in allOP)
    {
      // Show volume information
      if (oneCP.CimInstanceProperties["DriveLetter"].ToString()[0] > ' ')
      {
        Console.WriteLine("Volume ‘{0}’ has {1} bytes total, {2} bytes available", oneCP.CimInstanceProperties["TotalPhysicalMemory"], oneCP.CimInstanceProperties["Model"]);
      }
    }
  }
}

Hier nochmal mit Foto:

Bitte helft mir.

Gruß

MugiwaraSenpai

Computer, programmieren, Connection, CSharp, registry, WMI
1 Antwort
RPC server is unavailable?

Hallo,

bin am verzweifeln.

Schreibe gerade eine Application welche alle IP-Adressen durchläuft, schaut ob sie erreichbar sind und den Computernamen zurück gibt. Damit gibt es soweit kein Problem. Nun aber greife ich mit Get-WmiObject auf die Registry zu um den "UserName" bzw. angemeldeten Benutzer zurück zu bekommen. Dabei fliegt immer der selbe Fehler :

Get-WmiObject : The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)

Das wirklich komische dabei ist dass es bei fast allen Rechner funktioniert.
Bei ein paar wenigen funktioniert es nur wenn ich es mit dem Computernamen ausführe.
Und bei ein paar funktioniert es mit IP-Adresse und Computernamen nicht.

Ich habe mich bereits im Internet informiert, jedoch keine Lösung gefunden.
Ich hoffe jemand von euch kann mir hier weiterhelfen es ist sehr dringend.

Fürs Verständnis:
Am Anfang Pinge ich 10.3.20.141. Das funktioniert wie immer.
Nun hole ich mit Get-WmiObject die gewünschten Informationen. Funktioniert auch.
Jetzt versuche ich das ganze mit der IP 10.3.20.125.
Die IP-Adresse ist erreichbar.
Jedoch sobald ich die Informationen holen möchte funktioniert es nur mit den Computernamen

PS.: Es gibt dann auch noch welche bei denen es weder mit Computername noch mit IP-Adresse funktioniert.

Im Internet ist diese Code vorgeschlagen worden:

Dabei bekomme ich diese Fehlermeldung:

Ich hoffe das war genug Stoff um es zu veranschaulichen.

Pls Help

Gruß

Computer, Technik, IP-Adresse, Technologie, hostname, RPC Server, WMI, Spiele und Gaming
3 Antworten