Get -Adcomputer -Filter

发布于 2025-01-24 11:27:09 字数 393 浏览 0 评论 0 原文

我有一个脚本可以上传有关PC的数据,其中最后一次活动超过100天,我无法将其作为普通表上传,我不明白如何添加2个DistributionName + Description名称字段

Get-ADComputer -Filter * -Properties OperatingSystem, LastLogonDate |      Where { $_.LastLogonDate -LT (Get-Date).AddDays(-100) } |     Select-Object Name, OperatingSystem, LastLogonDate  | Out-File "\\Client\C$\Users\computer_ad.csv"   -encoding Unicode -Delimiter ";"

I have a script that uploads data about a PC with the last activity more than 100 days, I can’t upload it as a normal table and I don’t understand how to add 2 distributionname + description fields

Get-ADComputer -Filter * -Properties OperatingSystem, LastLogonDate |      Where { $_.LastLogonDate -LT (Get-Date).AddDays(-100) } |     Select-Object Name, OperatingSystem, LastLogonDate  | Out-File "\\Client\C$\Users\computer_ad.csv"   -encoding Unicode -Delimiter ";"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

獨角戲 2025-01-31 11:27:09

您不应使用外文件将其保存为CSV。有一个特殊的cmdlet,称为

另外,最好使用 .date 在与LastLogondate进行比较时,将参考日期设置为午夜。

默认情况下,Get-Adcomputer返回以下属性:
dickinedname,dnShostName,enabled,name,objectClass,objectguid,samaccountName,SID,userPrinCipalName 以及您需要在 - properties parameter中需要指定的内容。

至于属性 description ,这很容易,但是您的意思是 distributionName
我猜您想要 dickinedname name name:

$refDate = (Get-Date).AddDays(-100).Date  # set this to midnight
Get-ADComputer -Filter * -Properties OperatingSystem, LastLogonDate, Description | 
Where-Object { $_.LastLogonDate -lt $refDate } | 
Select-Object Name, OperatingSystem, LastLogonDate, Description, DistinguishedName | 
Export-Csv -Path "\\Client\C$\Users\computer_ad.csv" -Delimiter ';' -NoTypeInformation

如果您真的希望在UTF16-LE(Unicode)中编码该文件,则可以将其添加到Export-CSV行: - -编码Unicode ,尽管更常用 utf8

You should not use Out-File to save as CSV. There is a special cmdlet for that called Export-Csv

Also, it is better to set the reference date to midnight using .Date when comparing to the LastLogonDate.

By default, Get-ADComputer returns these properties:
DistinguishedName, DNSHostName, Enabled, Name, ObjectClass, ObjectGUID, SamAccountName, SID, UserPrincipalName and for anything on top of that you need to specify it in the -Properties parameter.

As for attribute Description, that's easy enough, but what do you mean by distributionname ??
I'm guessing you want the DistinguishedName name there:

$refDate = (Get-Date).AddDays(-100).Date  # set this to midnight
Get-ADComputer -Filter * -Properties OperatingSystem, LastLogonDate, Description | 
Where-Object { $_.LastLogonDate -lt $refDate } | 
Select-Object Name, OperatingSystem, LastLogonDate, Description, DistinguishedName | 
Export-Csv -Path "\\Client\C$\Users\computer_ad.csv" -Delimiter ';' -NoTypeInformation

If you really want the file to be encoded in UTF16-LE (Unicode), you can add that to the Export-Csv line: -Encoding Unicode, although UTF8 is more commonly used.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文