如何将 Powershell 中的 AD 信息拆分为 excel 文档?
How can I split AD information in Powershell into a excel document?
我是 Powershell 初学者。我一直在尝试创建一个脚本,它生成一个 Excel 文件,其中包含一些 AD 信息,包括 DistinguishedName
。我的脚本如下所示:
$dn = Get-ADUser -Filter * -SearchBase "OU=Users,OU=Ch01,OU=EU,DC=corp,DC=ads" | select DistinguishedName,SamAccountName,name |export-csv C:\temp\test1.csv -Delimiter ";"
我得到的示例(注意:|
表示 Excel 中的新单元格):
CN=Testuser\, Verfluecht,OU=Users,OU=Ch01,OU=EU,DC=corp,DC=ads | vtestuser | Testuser, Verfluecht
但是为了分组excel中的路径,我需要它没有 CN (CN=Testuser\, Verfluecht,)
所以它看起来像这样:
OU=Users,OU=Ch01,OU=EU,DC=corp,DC=ads | vtestuser | Testuser, Verfluecht
我该怎么做?
我尝试了很多东西,比如 .substring 和 replace,但我无法完成。
使用此 和计算的 属性,它应该只删除可分辨名称的第一部分并留下您需要的部分。
Get-ADUser -Filter * -SearchBase "OU=Users,OU=Ch01,OU=EU,DC=corp,DC=ads" |
Select-Object @{Name="DistinguishedName";Expression={$_.distinguishedname | ForEach-Object {$_ -replace '^.+?(?<!\),',''}}},samaccountname,name |
Export-Csv C:\temp\test1.csv -Delimiter ";"
在我的测试环境中,我得到了以下输出(没有将其通过管道传输到 Export-Csv)。
Get-ADUser -Filter * | Select-Object @{Name="DistinguishedName";Expression={$_.distinguishedname | ForEach-Object {$_ -replace '^.+?(?<!\),',''}}},samaccountname,name
DistinguishedName samaccountname name
----------------- -------------- ----
CN=Users,DC=timhaintz,DC=com Administrator Administrator
CN=Users,DC=timhaintz,DC=com Guest Guest
CN=Users,DC=timhaintz,DC=com DefaultAccount DefaultAccount
CN=Users,DC=timhaintz,DC=com krbtgt krbtgt
谢谢,蒂姆。
我是 Powershell 初学者。我一直在尝试创建一个脚本,它生成一个 Excel 文件,其中包含一些 AD 信息,包括 DistinguishedName
。我的脚本如下所示:
$dn = Get-ADUser -Filter * -SearchBase "OU=Users,OU=Ch01,OU=EU,DC=corp,DC=ads" | select DistinguishedName,SamAccountName,name |export-csv C:\temp\test1.csv -Delimiter ";"
我得到的示例(注意:|
表示 Excel 中的新单元格):
CN=Testuser\, Verfluecht,OU=Users,OU=Ch01,OU=EU,DC=corp,DC=ads | vtestuser | Testuser, Verfluecht
但是为了分组excel中的路径,我需要它没有 CN (CN=Testuser\, Verfluecht,) 所以它看起来像这样:
OU=Users,OU=Ch01,OU=EU,DC=corp,DC=ads | vtestuser | Testuser, Verfluecht
我该怎么做?
我尝试了很多东西,比如 .substring 和 replace,但我无法完成。
使用此
Get-ADUser -Filter * -SearchBase "OU=Users,OU=Ch01,OU=EU,DC=corp,DC=ads" |
Select-Object @{Name="DistinguishedName";Expression={$_.distinguishedname | ForEach-Object {$_ -replace '^.+?(?<!\),',''}}},samaccountname,name |
Export-Csv C:\temp\test1.csv -Delimiter ";"
在我的测试环境中,我得到了以下输出(没有将其通过管道传输到 Export-Csv)。
Get-ADUser -Filter * | Select-Object @{Name="DistinguishedName";Expression={$_.distinguishedname | ForEach-Object {$_ -replace '^.+?(?<!\),',''}}},samaccountname,name
DistinguishedName samaccountname name
----------------- -------------- ----
CN=Users,DC=timhaintz,DC=com Administrator Administrator
CN=Users,DC=timhaintz,DC=com Guest Guest
CN=Users,DC=timhaintz,DC=com DefaultAccount DefaultAccount
CN=Users,DC=timhaintz,DC=com krbtgt krbtgt
谢谢,蒂姆。