gpt4 book ai didi

powershell - 比较两个csv文件并查找差异

转载 作者:行者123 更新时间:2023-12-02 23:16:00 25 4
gpt4 key购买 nike

我是Powershell Realm 的新手,我在Powershell上有一个项目用于存货核对。

我不确定如何进行此操作,我尝试了一些基本步骤,并且能够导出

用户/组/组成员身份。

以下是要求:

  • 现在我所取得的成就-感谢Govnah

  • 广告查询:
    Get-QADUser -searchRoot $OuDomain -SizeLimit 0 |
    Select-Object dn, sAMAccountName, @{Name="Groups";Expression={(Get-QADMemberOf $_ | Select-Object -expandProperty Name) -join ";"}} |
    Sort-Object SamAccountName |
    export-csv $FilePath

    我现在有两个CSV文件,例如 AD_users.csvOracle_users.csv
    我想比较两个文件并重定向差异,例如

    Oracle中不存在AD用户
    Oracle用户在AD中不存在

    样本数据

    AD_users.csv
    u388848993
    K847447388
    u994888484

    Oracle_users.csv
    k095848889
    u388848993

    我可以查询oracle数据库,AD查询也很好,唯一需要注意的是我无法比较输出。

    最佳答案

    我在编写的脚本中做了这样的事情:

    [System.Collections.ArrayList]$adlist = Get-Content c:\users\sverker\desktop\ad.csv |Sort-Object
    [System.Collections.ArrayList]$oraclelist = Get-Content c:\users\sverker\desktop\oracle.csv |Sort-Object
    $Matching_numbers = @()

    ForEach ($number in $adlist)
    {
    if ($oraclelist.Contains($number))
    {
    $Matching_numbers += $number
    }
    }
    ForEach ($number in $Matching_numbers)
    {
    $adlist.Remove($number)
    $oraclelist.Remove($number)
    }

    现在$ Matching_numbers现在包含匹配的数字
    $ adlist仅包含AD中的数字
    和$ oraclelist仅来自Oracle的数字

    然后,您可以遍历列表并显示值:
    Write-Host "Matches:"
    ForEach ($value in $Matching_numbers)
    {
    $Message += $value + [Environment]::NewLine
    }
    Write-Host $Message

    Write-Host "AD only:"
    ForEach ($value in $adlist)
    {
    $MessageAd += $value + [Environment]::NewLine
    }
    Write-Host $MessageAd

    Write-Host "Oracle only:"
    ForEach ($value in $oraclelist)
    {
    $MessageOracle += $value + [Environment]::NewLine
    }
    Write-Host $MessageOracle

    或简单地通过写
    $Matching_numbers

    将列表输出到控制台

    您可以将$ Message变量输出到文件中。

    毫无疑问,有一种更好的方法可以执行此操作,但是对于某些文件类型,这对我有用。

    关于powershell - 比较两个csv文件并查找差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8799847/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com