首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >远程PowerShell目标上ADSI命令中的变量

远程PowerShell目标上ADSI命令中的变量
EN

Stack Overflow用户
提问于 2017-03-14 02:48:19
回答 1查看 735关注 0票数 0

我正在使用通过PowerShell发送的ADSI命令自动更改远程Invoke-Command目标上的密码。我使用以下PowerShell命令将ADSI命令发送到远程计算机:

代码语言:javascript
复制
Invoke-Command -ComputerName $computer -ScriptBlock {
  (([ADSI]“WinNT://localhost/Administrator”).SetPassword($new_password)).SetInfo
} -Credential $mycred

除了$new_password变量之外,一切都正常工作。如果我直接在ADSI命令中输入一个字符串(在SetPassword()方法中),则在远程客户机上成功地更改了密码。但是,如果我使用$new_password变量,则远程客户端上的管理员密码设置为空。所有其他变量,例如$computer$mycred,似乎在整个Invoke-Command命令中正常工作,但是只有一个$new_password不能工作。即使我做了以下事情:

代码语言:javascript
复制
$new_password = "mypassword"
Invoke-Command -ComputerName $computer -ScriptBlock {
  (([ADSI]“WinNT://localhost/Administrator”).SetPassword($new_password)).SetInfo
} -Credential $mycred
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-14 04:22:49

将变量传递到scriptblock应该如下所示:

代码语言:javascript
复制
$new_password = "mypassword"
Invoke-Command -ComputerName $computer  -Credential $mycred -ScriptBlock {param($new_password) (([ADSI]“WinNT://localhost/Administrator,user”).SetPassword($new_password)).SetInfo } -argumentlist $new_password

而adsi应该是([ADSI]“WinNT://localhost/Administrator,user”)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42776908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档