【问题标题】:How to combine first name and last name in powershell? [duplicate]如何在powershell中结合名字和姓氏? [复制]
【发布时间】:2020-12-11 06:11:33
【问题描述】:

大家好,我目前正在学习 PowerShell,并且我有脚本可以创建一个 Active Directory 用户,我正在尝试将名字和姓氏 (firstname.lastname) 结合起来,并将其设置为 $logonname 所以用户不必输入该信息。是否有某种类型的命令用于实现这一目标?

    import-module activedirectory

#Define variable
$OU ="OU=mine,DC=mine,DC=mine"



$firstname = Read-Host 'Enter New Users First Name'


$lastname = Read-Host 'Enter New Users Last Name'

$logonname = Read-Host 'Enter New Users Windows Logon Name'

$EmailAddress = "$logonname@mine.com"

$Description = Read-Host 'Job Title?'

$Landline = Read-Host 'Enter the Users Landline Phone (if applicable)'

$Mobile = Read-Host 'Mobile Phone? (If Applicable)'

$Password = Read-Host 'Please enter a secure password'





New-ADUser -Name "$firstname $lastname" -EmailAddress $EmailAddress -DisplayName "$firstname $lastname" -SamAccountName $logonname -Title $Description -UserPrincipalName "$logonname@mine.com" -GivenName $firstname -Surname $lastname -Description $Description -OfficePhone $Landline -MobilePhone $Mobile



Write-Host 'Setting Account Details...'



Write-Host 'Setting Password...'

Set-ADAccountPassword -Identity $logonname -NewPassword (ConvertTo-SecureString -AsPlainText "$Password" -Force)

Set-ADUser -Identity $logonname -PasswordNeverExpires $true



Write-Host 'Setting Home Directory to \\networklocation\Home'

Set-ADUser -Identity $logonname -HomeDirectory \\networklocation\home -HomeDrive H



Write-Host 'Enabling Account in Active Directory..

**NOTE**

The Account Will Take 30 Seconds To Enable, It Is Safe To Close The Script As Long as you See the "DONE" Prompt.'

Enable-ADAccount -Identity $logonname



Write-Host 'Done'

【问题讨论】:

  • $logonname = $firstname + $lastname
  • 谢谢道格。如何在两者之间添加句点?我想像 ex.(david.banner) 一样拥有它。

标签: powershell active-directory


【解决方案1】:

如果您想更新您的脚本,以便 $logonname 使用来自 $firstname$lastname 的值,那么您可以通过几种不同的方式来做到这一点。

我还在 cmets 中看到你想要一个 . 介于两者之间。

我会这样做:

$logonname = "$firstname.$lastname";

顺便说一句,我个人没有使用 AD 的经验,但是,允许用户输入他们想要的任何内容,然后使用该信息可能会导致问题。

如果用户键入用户名或电子邮件地址中不允许的符号怎么办?

如果您是唯一使用此脚本的人,并且您只是为了让您的工作更轻松而编写它,那可能没问题。但我会警惕让其他人运行它。

如果这些依赖于前一个命令的命令中的任何一个失败了会发生什么?

我知道你说你在学习。因此,这是一个学习错误处理、检查输入并验证它们是否有效等方面的好机会。

【讨论】:

  • 谢谢你,Chad,当我说用户时,我的意思是我,哈哈。
  • @DehavenBrown 很酷。如果您觉得我的帖子回答了您的问题,请务必将其标记为答案。
  • 这回答了我的问题。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-22
  • 2018-09-02
  • 1970-01-01
  • 1970-01-01
  • 2019-08-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多