spassbremse

AD Attribute aus ActiveDirectory auslesen

Hallo zusammen,

ich stehe gerade richtig auf dem Schlauch. Aufgrund eines Sync Problems, fehlen bei einigen Rechnern in den AD Attributen die Serienummer.
Jetzt möchte ich natürlich alle Rechner per Poweshell auslesen und schauen bei welchen dies fehlt.
Aber wie komme ich an genau das Attribut ran?
Wenn ich sage ich will serialNumber auslesen, bekomme ich nur "Microsoft.ActiveDirectory.Management.ADPropertyValueCollection"

Was mache ich falsch ?

Vielen DAnk für Eure Unterstützung
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 6539342318

Url: https://administrator.de/forum/ad-attribute-aus-activedirectory-auslesen-6539342318.html

Ausgedruckt am: 15.05.2025 um 01:05 Uhr

DerMaddin
DerMaddin 28.03.2023 um 09:08:26 Uhr
Goto Top
Das Auslesen der Seriennummer mit PS geht so:

Get-WmiObject Win32_bios | select Serialnumber
2423392070
2423392070 28.03.2023 um 09:09:22 Uhr
Goto Top
Welche Seriennummer?

BIOS get Serialnumber?
Spassbremse
Spassbremse 28.03.2023 um 09:20:45 Uhr
Goto Top
Ich möchte die Serienummmern auslesen, welche bei allen rechnern als Attribut im AD hinterlegt sind.
Also genau das Feld, was im Screenshot leer ist
screenshot 2023-03-28 092023
Hubert.N
Hubert.N 28.03.2023 um 09:25:27 Uhr
Goto Top
Moin

Get-ADComputer -filter * -Properties name, serialnumber | ft name, serialnumber

Der Sinn hinter der Sache wird Dir ja sicherlich bekannt sein, weil es eigentlich Standard ist, das dieses Feld leer ist.

Gruß
Spassbremse
Spassbremse 28.03.2023 um 09:25:48 Uhr
Goto Top
PS C:\> Get-ADComputer -filter * -SearchBase "OU=xxx,OU=xxx,OU=Systems,OU=DE,DC=xxx,DC=xxx,DC=xxx" -properties name,serialNumber | select name,serialNumber=null | Export-CSV c:\computers.csv -NoTypeInformation

Dieser hier funktioniert leider nicht
Hier zeigt er mir leider nur "Microsoft.ActiveDirectory.Management.ADPropertyValueCollection"
3063370895
3063370895 28.03.2023 um 09:27:04 Uhr
Goto Top
Hi,
Get-ADComputer -Filter * -Properties serialNumber | Select-Object Name,serialNumber
2423392070
2423392070 28.03.2023 um 09:27:07 Uhr
Goto Top
Ich will den Spaß nicht Bremsen, aber das wird nicht genutzt.
3063370895
3063370895 28.03.2023 um 09:29:31 Uhr
Goto Top
Man könnte es natürlich selbst befüllen
Spassbremse
Spassbremse 28.03.2023 um 09:35:13 Uhr
Goto Top
Zitat von @Hubert.N:

Moin

Get-ADComputer -filter * -Properties name, serialnumber | ft name, serialnumber

Der Sinn hinter der Sache wird Dir ja sicherlich bekannt sein, weil es eigentlich Standard ist, das dieses Feld leer ist.

Gruß

Bei uns ist das Feld aber wichtig, aufgrund Syncronisation in andere Systeme
Aber der Code klappt auch nicht
Spassbremse
Spassbremse 28.03.2023 um 09:35:53 Uhr
Goto Top
Zitat von @chaot1coz:

Hi,
Get-ADComputer -Filter * -Properties serialNumber | Select-Object Name,serialNumber

Geht leider auch nicht.
Kommt auch hier nur "Hier zeigt er mir leider nur "Microsoft.ActiveDirectory.Management.ADPropertyValueCollection"
3063370895
3063370895 28.03.2023 aktualisiert um 09:44:43 Uhr
Goto Top
Dann stimmt bei dir irgendwas anderes nicht.
(abc wurde von mir manuell eingetragen)

ca9irrmctv
6247018886
Lösung 6247018886 28.03.2023 aktualisiert um 10:04:47 Uhr
Goto Top
Nun die Property ist ja vom Typ ADPropertyValueCollection da weiß die PowerShell nicht von selbst wie sie die zu einem String bauen soll, man muss es ihr also sagen ...
Get-ADComputer -filter * -Properties name, serialnumber | select name, @{n='Serialnumber';e={$_.Serialnumber.Value -join ','}} | Export-CSV c:\computers.csv -NoTypeInformation -Delimiter ";"  
Spassbremse
Spassbremse 28.03.2023 um 10:05:08 Uhr
Goto Top
Zitat von @6247018886:

Nun die Property ist ja vom Typ ADObjectCollection da weiß die PowerShell nicht wie sie die zu einem String bauen soll, man muss es ihr also sagen ...
Get-ADComputer -filter * -Properties name, serialnumber | select name, @{n='Serialnumber';e={$_.Serialnumber.Value -join ','}} | Export-CSV c:\computers.csv -NoTypeInformation -Delimiter ";"  

YEahhhhhh, das geht super.
Ich bedanke mich vielmals für die super schnelle Hilfe
Spassbremse
Spassbremse 28.03.2023 um 10:27:58 Uhr
Goto Top
Aber jetzt noch eine Zusatzfrage.
Kann ich es auch bei den rechnern wo es fehlt gleich importieren?
6247018886
6247018886 28.03.2023 aktualisiert um 13:32:37 Uhr
Goto Top
Zitat von @Spassbremse:
Aber jetzt noch eine Zusatzfrage.
Kann ich es auch bei den rechnern wo es fehlt gleich importieren?
Get-ADComputer -LDAPFilter "(!(SerialNumber=*))" -Properties serialnumber | %{  
    Set-AdComputer $_.DistinguishedName -Replace @{Serialnumber=((Get-CimInstance -Computername $_.DnsHostname -Class Win32_Bios -Property Serialnumber).Serialnumber)} -confirm:$false
}