Powershell st用户登录到需要“注意”的系统。它是最后一个登录到系统的用户的SamAccountName。我把这个列表作为另一个程序的输出,该程序无法提供我想要的所有信息。这是最接近我预期的工作。唯一的问题是,一些SAMAccountName用于本地登录,而不是域登录

Powershell st用户登录到需要“注意”的系统。它是最后一个登录到系统的用户的SamAccountName。我把这个列表作为另一个程序的输出,该程序无法提供我想要的所有信息。这是最接近我预期的工作。唯一的问题是,一些SAMAccountName用于本地登录,而不是域登录,powershell,csv,active-directory,export-to-csv,Powershell,Csv,Active Directory,Export To Csv,st用户登录到需要“注意”的系统。它是最后一个登录到系统的用户的SamAccountName。我把这个列表作为另一个程序的输出,该程序无法提供我想要的所有信息。这是最接近我预期的工作。唯一的问题是,一些SAMAccountName用于本地登录,而不是域登录。当get aduser命令在AD[ADIdentityNotFoundException]中找不到本地登录名时,它正在当前对象的“上次登录”(samAccountName)单元格中写入以前用户的samAccountName。@Jarad我已更


st用户登录到需要“注意”的系统。它是最后一个登录到系统的用户的SamAccountName。我把这个列表作为另一个程序的输出,该程序无法提供我想要的所有信息。这是最接近我预期的工作。唯一的问题是,一些SAMAccountName用于本地登录,而不是域登录。当get aduser命令在AD[ADIdentityNotFoundException]中找不到本地登录名时,它正在当前对象的“上次登录”(samAccountName)单元格中写入以前用户的samAccountName。@Jarad我已更新代码以重置samAccountName
$samAccountName=“”
为了防止以前的用户详细信息被隐藏,DIT现在可以很好地工作了,非常感谢!我非常理解代码,但我会进行一些研究,以便更好地理解如何使用“pscustomobject”。好极了!这是最接近我预期的工作。唯一的问题是,一些SAMAccountName用于本地登录,而不是域登录。当get aduser命令在AD[ADIdentityNotFoundException]中找不到本地登录名时,它正在当前对象的“上次登录”(samAccountName)单元格中写入以前用户的samAccountName。@Jarad我已更新代码以重置samAccountName
$samAccountName=“”
为了防止以前的用户详细信息被隐藏,DIT现在可以很好地工作了,非常感谢!我非常理解代码,但我会进行一些研究,以便更好地理解如何使用“pscustomobject”。好极了!
$userlist = Get-Content $home\Desktop\names.csv

ForEach ($user in $userlist) {
    Get-ADUser $user -Properties DisplayName | 
          Select-Object Name,DisplayName |
          Export-CSV $home\Desktop\new_names.csv -NoTypeInformation
}
$userlist = Import-Csv "$home\Desktop\names.csv"

ForEach ($user in $userlist) {

    $SamID_User = $user.SamAccountName
    # $DN_User = $user.DistinguishedName
    $OU_User = $user.OU

    #A Search by SamAccountName
    $result = Get-ADUser -Filter { samaccountname -eq $SamID_User } -SearchBase $OU_User  | # DisplayName property is returned by default by Get-ADUser and hence doesn't require explicit mention
          Select-Object Name,DisplayName

    $result | Export-CSV "$home\Desktop\new_names.csv" -NoTypeInformation -Append # Added -Append switch; works on PS v3.0 and later; with PS v2.0 -Append switch is not available with Export-Csv; With PS v2.0 you can use Out-File instead

    #B Search by DistinguishedName
    <#
    $result = Get-ADUser -Filter { DistinguishedName -eq $DN_User } -SearchBase $OU_User | 
          Select-Object Name,DisplayName
    $result | Export-CSV "$home\Desktop\new_names.csv" -NoTypeInformation -Append
    #>

}
Import-CSV $home\Desktop\names.csv |
    ForEach-Object {
      $samAccountname = ""
      $displayname = ""
      $samAccountname = $_."last logon"
      $machinename = $_.'machine name'
      $displayname = (get-aduser $samaccountname -Properties displayname).displayname
      $ou = $_.OU
      [pscustomobject]@{
            machineName=$machinename
            displayname=$displayname 
            OU=$ou 
            samAccountname=$samAccountname 
        }
    } |
    select samAccountname ,machineName,displayname,ou |
    Export-CSV new_names.csv -Append -NoTypeInformation