Computer im Active Directory filtern
Hallo Zusammen,
ich möchte über die Powershell Computer im Active Directory filtern.
Als Beispiel:
listet mir alle Computer auf, die sich unter dem angegeben Pfad befinden. Das funktioniert.
funktioniert nicht.
Es kommt immer die Fehlermeldung
Ich komme einfach nicht drauf, warum es nicht funktioniert.
ich möchte über die Powershell Computer im Active Directory filtern.
Als Beispiel:
dsquery computer "OU=PLATZHALTER,OU=PLATZHALTER,OU=PLATZHALTER,DC=PLATZHALTER,DC=PLATZHALTER" -limit 0 -o rdn
listet mir alle Computer auf, die sich unter dem angegeben Pfad befinden. Das funktioniert.
Get-ADComputer -Filter "OperatingSystem -like 'Win7'" * -SearchBase "OU=PLATZHALTER,OU=PLATZHALTER,OU=PLATZHALTER,DC=PLATZHALTER,DC=PLATZHALTER"
funktioniert nicht.
Es kommt immer die Fehlermeldung
Get-ADComputer : Es wurde kein Positionsparameter gefunden, der das Argument "*" akzeptiert.
In Zeile:1 Zeichen:1
+ Get-ADComputer -Filter "OperatingSystem -like 'Win7'" * -SearchBase " ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Get-ADComputer], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.GetADComputer
Ich komme einfach nicht drauf, warum es nicht funktioniert.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 432725
Url: https://administrator.de/contentid/432725
Ausgedruckt am: 24.11.2024 um 07:11 Uhr
19 Kommentare
Neuester Kommentar
Der Fiter ist ja auch falsch und bei deinem Filter fehlen die Wildcards (*) im String.
Ich hätte die Ausgabe in der xml allerdings gerne so wie im eigentlichen Powershell Fenster. Ist das möglich?
Dann ist's aber keine valide XML-Datei mehr . Du weist aber schon was eine XML Datei ist??Andernfalls sind format-list und format-table deine Freunde, deren Ausgabe ist aber wie gesagt nicht XML konform.
Moin,
Aber willst Du das wirklich? Ich würde das ja lieber mit einem netten CSS formatieren und im Browser angucken.
hth
Erik
Get-ADComputer -Filter {OperatingSystem -like '*Windows 7*'} -SearchBase "OU=PLATZHALTER,OU=PLATZHALTER,OU=PLATZHALTER,DC=PLATZHALTER,DC=PLATZHALTER" | export-clixml datei.xml; get-content datei.xml
Aber willst Du das wirklich? Ich würde das ja lieber mit einem netten CSS formatieren und im Browser angucken.
hth
Erik
Ist es möglich nur die Zeile Name in jeweils eine neue Zeile in der csv schreiben zu lassen?
Get-ADComputer -Filter "OperatingSystem -like 'Windows 7*'" -SearchBase "OU=PLATZHALTER,OU=PLATZHALTER,OU=PLATZHALTER,DC=PLATZHALTER,DC=PLATZHALTER" | select Name | export-csv -Path "C:\datei.csv" -NoType -Encoding UTF8 -Delimiter ";"
Du solltest dir dringend mal das Powershell-Manual reinziehen, du hantierst hier mit dem AD und hast noch nicht mal die Basics drauf?.
Jepp, das klingt mir sehr nach "erst irgendwas im Kopp ala mach mer mal" und erst dann über ein stichhaltiges Konzept nachdenken und wieder alles neu machen .
Joa, mal wieder das Pferd von hinten aufgezäumt. Also erst mal den dreifachen Salto vorwärts vor dem Aufsteigen lernen . Na denn, viel Spaß noch hier beim Rodeo....
Noch zwei Links für den TO:
https://www.martinlehmann.de/wp/powershell-openbook-kostenlos-online/
http://www.powershellpraxis.de/
Letzteres ist zwar schon ein wenig älter, aber immer noch hilfreich.
Und dann natürlich noch:
https://docs.microsoft.com/de-de/powershell/
https://www.martinlehmann.de/wp/powershell-openbook-kostenlos-online/
http://www.powershellpraxis.de/
Letzteres ist zwar schon ein wenig älter, aber immer noch hilfreich.
Und dann natürlich noch:
https://docs.microsoft.com/de-de/powershell/
Ich hab das ganze in eine Variable gepackt
Dann könnte man zum Beispiel mit einer for each schleife
alles in eine datei packen lassen.
$computers = Get-ADComputer -filter * -SearchBase "OU=TestOU,OU=test,OU=GPO,DC=contoso,DC=com" -Properties Name, operatingSystem
Dann könnte man zum Beispiel mit einer for each schleife
foreach ($computer in $computers) {
write "$computername, $computerOS, $GroupObj, $mitglied" >> \\fs01\Austausch\test.txt
}
alles in eine datei packen lassen.
Moin,
Warum einfach, wenn es auch kompliziert geht? Bei der Aufgabe, einfach nur die Computernamen zu "drucken", die noch mit Windows 7 laufen, ist das vollkommen unnötig.
Und wo kommen die Variablen $computername, $computerOS ... denn her? Wenn dann so:
Liebe Grüße
Erik
Zitat von @chip-monkey:
Ich hab das ganze in eine Variable gepackt
Ich hab das ganze in eine Variable gepackt
$computers = Get-ADComputer -filter * -SearchBase "OU=TestOU,OU=test,OU=GPO,DC=contoso,DC=com" -Properties Name, operatingSystem
>
Warum einfach, wenn es auch kompliziert geht? Bei der Aufgabe, einfach nur die Computernamen zu "drucken", die noch mit Windows 7 laufen, ist das vollkommen unnötig.
Dann könnte man zum Beispiel mit einer for each schleife
foreach ($computer in $computers) {
> write "$computername, $computerOS, $GroupObj, $mitglied" >> \\fs01\Austausch\test.txt
> }
Und wo kommen die Variablen $computername, $computerOS ... denn her? Wenn dann so:
foreach($computer in $computers) {
out-file -path outfile.txt -InputObject "$computer.name, $computer.OperatingSystem ..." -append -encoding UTF8
}
Liebe Grüße
Erik