Я пытаюсь получить удаленный доступ к машинам EC2, чтобы получить некоторую информацию с помощью C #. Я написал код, как показано ниже: -
ConnectionOptions options = new ConnectionOptions
{
Username = serverspace.ServerIP + @"\xxxxxx",
Password = "xxxxxxx",
Impersonation = ImpersonationLevel.Impersonate,
EnablePrivileges = true
};
ManagementScope scope = new ManagementScope(String.Format(@"\\{0}\ROOT\CIMV2", serverspace.ServerIP), options);
scope.Connect();
Но возникает исключение RPC, как показано ниже: - Сервер RPC недоступен. (Исключение из HRESULT: 0x800706BA) в System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal (код ошибки Int32, IntPtr errorInfo) в System.Management.ManagementScope.InitializeGuts (объект o) в System.Management.ManagementScope) .Initialize
1- Проблема в коде? 2- Нужно ли мне что-либо настраивать во всех брандмауэрах компьютеров?
Порты брандмауэра RPC описаны здесь:
Обзор службы и требования к сетевому порту для Windows
-Вызов удаленных процедур (RPC):
http://support.microsoft.com/kb/832017#method39
System service name: RpcSs
Application protocol Protocol Ports
RPC TCP 135
RPC over HTTPS TCP 593
NetBIOS Datagram Service UDP 138
NetBIOS Name Resolution UDP 137
NetBIOS Session Service TCP 139
SMB TCP 445
Кроме того, вам потребуется диапазон «высоких портов» с 49152 по 65535.