powershell – 标准Windows用户如何从命令行更改其密码?
发布时间:2020-12-13 20:01:15 所属栏目:Windows 来源:网络整理
导读:在 Windows Server 2008 R2上,我有一个标准(非管理员)本地用户(不是Active Directory帐户,但服务器位于域中),只能通过PowerShell远程处理访问服务器.用户无法通过RDP登录. 我希望这个用户能够更改他们的密码. “net user”命令需要管理员权限,即使用户尝试更
在
Windows Server 2008 R2上,我有一个标准(非管理员)本地用户(不是Active Directory帐户,但服务器位于域中),只能通过PowerShell远程处理访问服务器.用户无法通过RDP登录.
我希望这个用户能够更改他们的密码. “net user”命令需要管理员权限,即使用户尝试更改自己的密码也是如此. 标准用户如何从命令行更改密码?
以下是一些PowerShell代码,可以使用域帐户执行您正在寻找的内容:
param ( [string]$oldPassword = $( Read-Host "Old password"),[string]$newPassword = $( Read-Host "New password") ) $ADSystemInfo = New-Object -ComObject ADSystemInfo $type = $ADSystemInfo.GetType() $user = [ADSI] "LDAP://$($type.InvokeMember('UserName','GetProperty',$null,$ADSystemInfo,$null))" $user.ChangePassword( $oldPassword,$newPassword) ASDI提供程序还支持ChangePassword()方法的语法WinNT:// computername / username.但是,ADSystemInfo对象不适用于机器本地帐户,因此只使用WinNT:// …语法改进上述代码是不可行的. (任何人都想建议编辑w /代码来区分本地和域帐户?) 在完全不同的方面,旧的NetUserChangePassword API也适用于本地(和域,如果您在NetBIOS语法中指定域名)帐户: param ( [string]$oldPassword = $( Read-Host "Old password"),[string]$newPassword = $( Read-Host "New password") ) $MethodDefinition = @' [DllImport("netapi32.dll",CharSet = CharSet.Unicode)] public static extern bool NetUserChangePassword(string domainname,string username,string oldPassword,string newPassword); '@ $NetAPI32 = Add-Type -MemberDefinition $MethodDefinition -Name 'NetAPI32' -Namespace 'Win32' -PassThru $NetAPI32::NetUserChangePassword('.',$env:username,$oldPassword,$newPassword) 此代码假定您正在更改本地计算机上的密码(“.”). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Windows Server 2019 搭建DC域控
- 错误处理 – Windows Workflow Foundation 4(WF4)错误处理
- windows-phone-7 – 我可以使用本地数据更新Mango中的实时图
- .net – 为WPF MediaPlayer使用DLL资源
- windows-ce – 如何下载适用于Windows CE 5.0的Platform Bu
- windows上RSA密钥生成和使用
- 如何使用PyWin32从exe文件加载嵌入的图标?
- window []和eval()之间的区别 – Javascript
- windows – 如何为Git-Bash设置16种终端颜色?
- wix – 从单独的组件构建一个MSI
推荐文章
站长推荐
- 在Windows环境中进行部署
- active-directory – SPN是否特定于Windows和Act
- 当中央存储库位于Windows文件共享上时,对多个用户
- 在Windows上为tomcat6设置CATALINA_OPTS不起作用
- SysPrep Windows 10 Pro错误(0x0f0070和0x0f00d8
- tfs – 在测试用例通过或失败时发送电子邮件警报
- 如何以编程方式确定用户帐户是否是Windows中特定
- Windows Server 2016-命令行方式管理Windows服务
- windows – 在lua中使用os.execute时如何避免弹出
- Windows服务实现IDisposable – 这是不好的做法?
热点阅读