Powershell 无法使用脚本设置密码

Powershell 无法使用脚本设置密码,powershell,Powershell,经过一些研究,我找到了适合我需要的剧本 Import-Module ActiveDirectory Import-csv c:\users\administrator\desktop\output.csv | New-ADUser -path "ou=xxx,dc=xxx,dc=xxxxx,dc=xxx" -passthru | ForEach-Object { $_ | Set-ADAccountPassword -Reset -NewPassword (ConvertTo-Secu

经过一些研究,我找到了适合我需要的剧本

Import-Module ActiveDirectory
Import-csv c:\users\administrator\desktop\output.csv |

New-ADUser -path "ou=xxx,dc=xxx,dc=xxxxx,dc=xxx" -passthru |
ForEach-Object {
    $_ | Set-ADAccountPassword -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "Pa$$w0rd123" -Force) -PassThru
    $_ | Enable-ADAccount 
    }
我可以在OU中使用此脚本创建用户,但密码似乎不起作用。我必须手动重置它并逐个设置


我做错了什么?顺便说一句,Server 2016在powershell中标记了一个变量。Ypu需要对字符进行转义,以便将dollarsigns放入字符串中,如
set string=“$”
。在角色前放置一个“坟墓”(`)以逃避它。您还可以将字符串封装在单引号中,这将告诉powershell不要展开变量

当您有一个字符串变量,并且它包含一个$时,它的行为将取决于您用来转换字符串的方法

使用双引号“”将告诉Powershell是的,这是文本,但如果我在这里放入变量,它将以文本字符串形式输出该变量

如果希望有一个字符串并使用$,并且Powershell不对此作出反应,请使用单引号“”


这将使Powershell将$作为字符串中的一个字符,而不是它试图查找并放入字符串中的变量。

尝试使用计算属性将
AccountPassword
属性添加到
Import Csv
输出中,而不是在用户创建后更改密码。显然,PS不喜欢字符串中的$密码字符串。已使用不同的密码并已全部排序。谢谢你,安斯加。我也会试试你的建议啊,我甚至没有看你设置的特定密码。并不是PowerShell不喜欢密码字符串中的
$$
,而是
$$
是一个,与所有其他变量一样,它在双引号字符串中展开。始终使用单引号字符串,除非其中包含变量(或转义序列)。