导入模块ActiveDirectory powershell错误
我正在创建一个脚本,要求用户输入名字和姓氏,并在Active Directory的组中实现它。下面显示了脚本的启动方式导入模块ActiveDirectory powershell错误,powershell,Powershell,我正在创建一个脚本,要求用户输入名字和姓氏,并在Active Directory的组中实现它。下面显示了脚本的启动方式 Import-Module ActiveDirectory #Get-Command New-ADUser -Syntax $firstName = Read-Host -Prompt "Please enter the first name" $lastName = Read-Host -Prompt "Please enter the la
Import-Module ActiveDirectory
#Get-Command New-ADUser -Syntax
$firstName = Read-Host -Prompt "Please enter the first name"
$lastName = Read-Host -Prompt "Please enter the last name"
下面的文本显示了放置信息的脚本主体
New-ADUser `
-Name "$firstName $lastName" `
-GivenName $firstName `
-Surname $lastName `
-UserPrincipalName = "$firstName.lastname"
-EmailAddress "$firstName.$lastName@<domain>"
-ChangePasswordAtLogon 1 `
-Enabled 1 `
-StreetAddress "<info>" `
-Office "<info>" `
-State "<info>" `
-PostalCode "<info>" `
-Country "<info>" `
-Path "<path>"
我检查了拼写,这似乎不是问题。我是否犯了一个明显的错误?您的示例显示了
-name
和“$firstName$lastName”
之间的空格,但错误的显示方式不同。仔细检查是否有空位
您还缺少一些反勾号,一个在UserPrincipalName行之后,一个在emailaddress行之后,并且在第一个反勾号之后有一个额外的空间
New-ADUser `
-Name "$firstName $lastName" `
-GivenName $firstName `
-Surname $lastName `
-UserPrincipalName = "$firstName.lastname" `
-EmailAddress "$firstName.$lastName@<domain>" `
-ChangePasswordAtLogon 1 `
-Enabled 1 `
-StreetAddress "<info>" `
-Office "<info>" `
-State "<info>" `
-PostalCode "<info>" `
-Country "<info>" `
-Path "<path>"
newaduser`
-名称“$firstName$lastName”`
-GivenName$firstName`
-姓氏$lastName`
-UserPrincipalName=“$firstName.lastname”`
-电子邮件地址“$firstName.$lastName@”`
-ChangePasswordAtLogon 1`
-启用1`
-街道地址“”`
-办公室“`
-状态“”`
-后代码“”`
-国家“`
-路径“”
删除反勾(`
)后的尾随空格,并放置缺少的空格:)
newaduser`
-名称“$firstName$lastName”`
-GivenName$firstName`
-姓氏$lastName`
-UserPrincipalName=“$firstName.lastname”`
-电子邮件地址“$firstName.$lastName@”`
-ChangePasswordAtLogon 1`
-启用1`
-街道地址“”`
-办公室“`
-状态“”`
-后代码“”`
-国家“`
-路径“”
这看起来在反勾号字符后面有一个空格。这就是用它来断线的危险。如果您更喜欢它的组织方式,那么更好的方法是定义一个哈希表,然后将其映射到cmdlet,如下所示:
$UserParams = @{
Name = "$firstName $lastName"
GivenName = $firstName
Surname = $lastName
UserPrincipalName = "$firstName.lastname"
EmailAddress = "$firstName.$lastName@<domain>"
ChangePasswordAtLogon = 1
Enabled = 1
StreetAddress = "<info>"
Office = "<info>"
State = "<info>"
PostalCode = "<info>"
Country = "<info>"
Path = "<path>"
}
New-ADUser @UserParams
$UserParams=@{
Name=“$firstName$lastName”
GivenName=$firstName
姓氏=$lastName
UserPrincipalName=“$firstName.lastname”
EmailAddress=“$firstName.$lastName@”
ChangePasswordAtLogon=1
已启用=1
StreetAddress=“”
Office=“”
State=“”
PostalCode=“”
Country=“”
Path=“”
}
新ADUser@UserParams
始终是答案+1这是一个很好的看待它的方式!非常感谢。在实现之后,我遇到了另一个关于CategoryInfo和FullyQualifiedErrorID的错误。你知道这意味着什么吗?
New-ADUser `
-Name "$firstName $lastName" `
-GivenName $firstName `
-Surname $lastName `
-UserPrincipalName = "$firstName.lastname" `
-EmailAddress "$firstName.$lastName@<domain>" `
-ChangePasswordAtLogon 1 `
-Enabled 1 `
-StreetAddress "<info>" `
-Office "<info>" `
-State "<info>" `
-PostalCode "<info>" `
-Country "<info>" `
-Path "<path>"
$UserParams = @{
Name = "$firstName $lastName"
GivenName = $firstName
Surname = $lastName
UserPrincipalName = "$firstName.lastname"
EmailAddress = "$firstName.$lastName@<domain>"
ChangePasswordAtLogon = 1
Enabled = 1
StreetAddress = "<info>"
Office = "<info>"
State = "<info>"
PostalCode = "<info>"
Country = "<info>"
Path = "<path>"
}
New-ADUser @UserParams