【问题标题】:Powershell, output AD info into a specific linePowershell,将AD信息输出到特定行
【发布时间】:2019-12-07 06:19:41
【问题描述】:

我希望创建一个将 AD 信息输出到特定行的 PowerShell 脚本。 我仍在研究这个问题,但认为询问会产生一些结果。

Import-Module ActiveDirectory
cls
$sid = Read-Host 'What is the username?'
Get-ADUser $sid -Properties * | Select-Object '$nm = GivenName' , Surname, SamAccountName, DisplayName,
City, EmailAddress, EmployeeID, Enabled, OfficePhone, MobilePhone, LockedOut, LockOutTime, AccountExpirationDate, PasswordExpired, PasswordLastSet

cls

Write-Host Name: 
Write-Host Email:  
Write-Host Phone:  
Write-Host User ID:  
Write-Host BlueWeb ID:  
Write-Host Vendor:  
Write-Host Plan:  
Write-Host Location:  
Write-Host PC_Name/Type:  
Write-Host Issue/Request:  
Write-Host Previous Ticket:  
Write-Host Application:  
Write-Host Troubleshooting:  
Write-Host Issue after troubleshooting:  

我认为我已经接近我正在做的事情,我将 GivenName 作为一个测试。我希望将 Get-ADUser 的结果输出到 Write-Host 字段。 无论如何,任何帮助或指导将不胜感激。

【问题讨论】:

  • 完全不确定 AD 信息到特定行是什么意思。您是否期望读取主机的输出可以用作-Identity获取 ADUser ??我认为您应该阅读更多关于Get-ADUser 的信息,尤其是-Filter-Identity 参数。接下来,结合Select-Object阅读Calculated Properties

标签: powershell


【解决方案1】:

对于某些输出非常简单,只需这样做:

$object = Get-ADUser $sid -Properties * | Select-Object '$nm = GivenName' , Surname, 
SamAccountName, DisplayName,
City, EmailAddress, EmployeeID, Enabled, OfficePhone, MobilePhone, LockedOut, 
LockOutTime, AccountExpirationDate, PasswordExpired, PasswordLastSet

然后使用$object变量来引用所有的参数,像这样:

Write-Host $object.Surname
Write-Host $object.EmailAddress
Write-Host $object.City

您只能引用参数列表中的内容。所以我不知道您将如何输出问题/请求、上一个工单等。因为此信息不是通过 Get-ADUser 命令获取的。

【讨论】:

  • 有什么技巧可以保留格式并附加输出吗?写入主机名称:William Christner 写入主机电子邮件:email@email.com 写入主机电话:555-555-5557 写入主机用户 ID:cw308186
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-02
  • 2016-01-29
  • 2017-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多