如何给远程计算机添加用户,如何访问远程计算机以添加/删除/管理用户帐户?...
我有一個場景,我需要訪問遠程計算機以編程方式添加和刪除Windows用戶帳戶 . 遠程機器是一個“備用工作站”,我需要遠程配置,準備好以防萬一主工作站需要更換 - 所以這里沒有安全繞過或惡意軟件:)
我知道遠程機器管理員的用戶/密碼,我能夠使用WMI Win32_UserAccount檢索現有用戶帳戶的完整列表 . 現在,我正在嘗試為每個用戶獲取一個UserPrincipal對象(最終將其刪除),但我的所有嘗試都獲得了異常 .
嘗試#1:
PrincipalContext context = new PrincipalContext(ContextType.Domain, "xxx.xxx.xxx.xxx" /*remote IP Address*/);
UserPrincipal user = (UserPrincipal.FindByIdentity(context, "userName"));
// Do something with user, like user.Delete();
在這種情況下,我總是在第一行得到一個例外:
System.DirectoryServices.AccountManagement.PrincipalServerDownException已被捕獲Message =無法聯系服務器 . Source = System.DirectoryServices.AccountManagement StackTrace:System.DirectoryServices.AccountManagement中的System.DirectoryServices.AccountManagement.PrincipalContext.ReadServerConfig(String serverName,ServerProperties&properties)中的System.DirectoryServices.AccountManagement.PrincipalContext.DoServerVerifyAndPropRetrieval()中的System.DirectoryServices.AccountManagement.AccountManagement.PrincipalContext . System.DirectoryServices.AccountManagement.PrincipalContext..ctor中的ContextType contextType,String name,String container,ContextOptions options,String userName,String password)(ContextType contextType,String name,String container,String userName,String password)InnerException:System.DirectoryServices .Protocols.LdapException Message = LDAP服務器不可用 . Source = System.DirectoryServices.Protocols ErrorCode = 81 StackTrace:System.DirectoryServices.Protocols中的System.DirectoryServices.Protocols.LdapConnection.Connect(),System.DirectoryServices.Protocols.LdapConnection中的SystemRequestConnection.SendRequestHelper(DirectoryRequest request,Int32&messageID) . System.DirectoryServices.AccountManagement.PrincipalContext.ReadServerConfig(String serverName,ServerProperties&properties)中的System.DirectoryServices.Protocols.LdapConnection.SendRequest(DirectoryRequest請求)中的SendRequest(DirectoryRequest請求,TimeSpan requestTimeout)InnerException:
嘗試#2:
PrincipalContext context = new PrincipalContext(ContextType.Machine, "xxx.xxx.xxx.xxx" /*remote IP Address*/);
UserPrincipal user = (UserPrincipal.FindByIdentity(context, "userName"));
// Do something with user, like user.Delete();
在這種情況下,我總是在第二行得到一個例外:
System.IO.FileNotFoundException被捕獲Message =找不到網絡路徑 . Source = Active Directory StackTrace:System.DirectoryServices.Antory中的System.DirectoryServices.Interop.Unsafe服務中的System.DirectoryServices.Interop.UnsafeNativeMethods.IAds.GetInfo()中的System.DirectoryServices.AccountManagement.PrincipalContext.DoMachineInit(),System.DirectoryServices.AccountManagement.PrincipalContext System.DirectoryServices.AccountManagement中System.DirectoryServices.AccountManagement.Principal.FindBdentIdentityWithTypeHelper(PrincipalContext上下文,Type principalType,Nullable`1 identityType,String identityValue,DateTime refDate)中的System.DirectoryServices.AccountManagement.PrincipalContext.get_QueryCtx()中的.Initialize() System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity(PrincipalContext context,String identityValue)中的.Principal.FindByIdentityWithType(PrincipalContext context,Type principalType,String identityValue)InnerException:
我嘗試了PrincipalContext對象的不同簽名(使用域名而不是IP地址,用戶名和密碼,......)但我總是在兩次嘗試中都獲得例外 .
我錯過了一些指示嗎?在創建PrincipalContext對象之前,是否需要使用模擬來獲得對遠程計算機的完全訪問權限?還有其他方法來完成我想要做的事情嗎? (即訪問遠程計算機以添加/刪除Windows帳戶)
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的如何给远程计算机添加用户,如何访问远程计算机以添加/删除/管理用户帐户?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 保险金额和保险费的区别
- 下一篇: 计算机常用编程英语词汇大全,计算机编程及