I have stituation I can't solve. I want to connect to an object on a remote computer. My computer is on my company's network. I have no trouble connecting to another machine also on this network, however, I need to connect to a machine not part of the network. This machine is set to the Microsoft default i.e. membership in the group "workgroup". I am using the following code: Dictionary<string, object> props = new Dictionary<string, object>(); props["username"] = "myaccount"; props["domain"] = "workgroup"; props["machineName"] = m_MachineName; props["password"] = "mypassword"; props["secure"] = true; props["protectionLevel"] = System.Net.Security.ProtectionLevel.EncryptAndSign; props["tokenImpersonationLevel"] = System.Security.Principal.TokenImpersonationLevel.Impersonation; props["useDefaultCredentials"] = false; m_Channel = new TcpClientChannel(props, null); ChannelServices.RegisterChannel(m_Channel, false); m_Interface = (DriveServer.DriveInterface) Activator.GetObject(typeof(DriveServer.DriveInterface), "tcp://" + m_MachineName + ":8085/DriveServer." + m_ServerName); The last line always generates the exception "The server has rejected the client credentials".