"Le serveur RPC est indisponible" en utilisant la requête WMI
J'ai un groupe de travail de serveurs web windows Server 2008 R2 dans lequel je suis en train de gérer un script qui vérifie l'espace disque de tous. J'avais mis cela en place il y a quelques mois lorsque les serveurs ont été mis en place et je crois que ça marchait très bien. Maintenant, je vais vérifier et qu'il donne un message d'erreur indiquant que "Le serveur RPC n'est pas disponible". Le script C# ASP.NET page, si j'ai essayé comparable appels en PowerShell, et il donne le même message d'erreur. Le script fonctionne très bien pour accéder aux informations de la machine locale, mais ne peut pas accéder à distance à des informations sur le serveur.
J'ai passé les dernières heures de creuser à travers tout ce que je peux trouver, mais rien ne fonctionne. J'ai mis des autorisations pour WMI (remote & locale), DCOM (remote & locale), et le disque entier de l'ordinateur, je suis accès à. J'ai utilisé le nom de l'ordinateur, l'adresse IP, le nom complet de l'ordinateur (xxx.echomountain.com), et essayé de nombreuses usurpation d'identité et les paramètres d'authentification sur le ConnectionOptions objet.
Je sais que le nom d'utilisateur/mots de passe que j'utilise sont corrects puisque je ne peux accéder à l'éclat des répertoires de l'un de l'autre
Toute idée de qu'est ce que j'ai pu vérifier que pourrait causer cette erreur?
ConnectionOptions oConn = new ConnectionOptions();
oConn.Impersonation = ImpersonationLevel.Impersonate;
oConn.EnablePrivileges = true;
oConn.Username = username;
oConn.Password = password;
//oConn.Authentication = AuthenticationLevel.PacketPrivacy;
string strNameSpace = @"\\";
if (srvname != "")
strNameSpace += srvname + ".echomountain.com";
else
strNameSpace += ".";
strNameSpace += @"\root\cimv2";
ManagementScope oMs = new ManagementScope(strNameSpace, oConn);
//get Fixed disk state
ObjectQuery oQuery = new ObjectQuery("select FreeSpace,Size,Name from Win32_LogicalDisk where DriveType=3");
//Execute the query
ManagementObjectSearcher oSearcher = new ManagementObjectSearcher(oMs, oQuery);
//Get the results
ManagementObjectCollection oReturnCollection = oSearcher.Get();
//loop through found drives and write out info
double D_Freespace = 0;
double D_Totalspace = 0;
foreach (ManagementObject oReturn in oReturnCollection)
{
//Disk name
//MessageBox.Show("Name : " + oReturn["Name"].ToString());
//Free Space in bytes
string strFreespace = oReturn["FreeSpace"].ToString();
D_Freespace = D_Freespace + System.Convert.ToDouble(strFreespace);
//Size in bytes
string strTotalspace = oReturn["Size"].ToString();
D_Totalspace = D_Totalspace + System.Convert.ToDouble(strTotalspace);
boxSize = (D_Totalspace / GB).ToString("##.00");
boxFree = (D_Freespace / GB).ToString("##.00");
Response.Write(srvname + ":" + boxSize + ":" + boxFree);
}
Erreur de serveur dans l'Application'/'.
Le serveur RPC n'est pas disponible. (Exception de HRESULT: 0x800706BA)
Description: Une exception non gérée s'est produite pendant l'exécution de la demande web actuelle. Veuillez consulter la trace de la pile pour plus d'informations sur l'erreur et où elle a son origine dans le code.
Détails De L'Exception: System.Moment de l'exécution.InteropServices.COMException: Le serveur RPC n'est pas disponible. (Exception de HRESULT: 0x800706BA)
Source De L'Erreur:
Ligne 64:
La ligne 65: //Obtenir les résultats
Ligne 66: ManagementObjectCollection oReturnCollection = oSearcher.Get();
Ligne 67:
Ligne 68: //boucle à travers trouvé de lecteurs et d'écrire infoFichier Source: c:\Web\medelaimages.com\iis\tool\boxinfoagent.aspx Ligne: 66
Trace De La Pile:
[COMException (0x800706ba): Le serveur RPC n'est pas disponible. (Exception de HRESULT: 0x800706BA)]
Système.Moment de l'exécution.InteropServices.Maréchal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) +0
Système.De la gestion.ManagementScope.InitializeGuts(Object o) +674
Système.De la gestion.ManagementScope.Initialize() +347
Système.De la gestion.ManagementObjectSearcher.Initialize() +189
Système.De la gestion.ManagementObjectSearcher.Get() +54
ASP.tool_boxinfoagent_aspx.Page_Load(Object sender, EventArgs e) dans c:\Web\medelaimages.com\iis\tool\boxinfoagent.aspx:66
Système.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, l'Objet o, t Objet, EventArgs e) +25
Système.Web.L'INTERFACE utilisateur.De contrôle.LoadRecursive() +71
Système.Web.L'INTERFACE utilisateur.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3048Informations De Version: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1
source d'informationauteur jwynveen
Vous devez vous connecter pour publier un commentaire.
Est le message d'erreur vous disant que le RPC est bloqué, ce qui est le paramètre de stratégie par défaut sur Windows 7 et 2008. Soit les ouvrir via la politique, ou utiliser WMI pour se connecter et gérer les hôtes. En interne, le réseau de confiance, RPC est généralement activé. NOUS sécurité informatique du gouvernement politique des conseils, comme ceux qui ont créé FDCC et USGCB, ont pas réglage recommandé pour le RPC, donc c'est ok pour l'activer. La gestion des systèmes live via WMI est très difficile car vous ne pouvez pas afficher des hôtes distants registre, les tâches planifiées, les dossiers et les fichiers. Cependant, vous pouvez facilement gérer les services via WMI.
L'erreur
The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
peut se produire sientrant du RPC /WMI connexions sont bloquées sur la machine cible en raison de restrictions de Pare-feu
ou
juste parce que vous avez entrée incorrecte nom d'hôte /adresse IP de la machine cible.
L'erreur se produit avant d'authentification et/ou l'autorisation des actions, afin de traiter avec des autorisations n'est pas nécessaire à cette étape. En fait, si le compte d'utilisateur manque autorisations nécessaires à un espace de nom particulier, vous obtiendrez une autre erreur et errorcode:
access denied. (0x80041003)
.L'article MSDN couvre l'ajout d'exceptions du Pare-feu pour l'accès WMI à distance: "Connexion à Distance à WMI".
Il suffit d'Aller à gestionnaire des services IIS. Démarrez votre site web de Service en Application de la piscine.
Il fonctionne pour moi
Aussi, Vous devez activer Windows Management Instrumentation (WMI) de la règle dans le pare-feu windows sur la machine distante.
J'ai fait face à un même problème. Plus tôt, j'ai été faire cette erreur tout en utilisant l'IP du serveur, mais a été en mesure de se connecter après que j'ai utilisé FQDN du serveur de nom. Après le dépannage, j'ai trouvé mon DNS enregistrement PTR n'était pas correcte. Après la correction que j'ai été en mesure de se connecter avec WMI adresse IP aussi. J'ai utilisé wbemtest WMI outil de test.