scroller
Goto Top

Powershell - Problem mit get-adcomputer in einer schleife

Hallo,

ich will alle Computerkontos die nicht mehr benötigt werden sperren lassen.
mein ANsatz:


$PCs = Search-ADAccount -AccountInactive –Timespan 180 -Searchbase $SB –ComputersOnly | Sort-Object | FT Name -A


foreach ($pc in $pcs){

 $c = get-adcomputer $pc
 
}

wobei in $SB der distinghuished name zur ou steht.
Der erste Befehl wird auch Fehlerfrei ausgeführt

bei $c = get-adcomputer $pc tritt jedoch folgender Fehler auf:

get-adcomputer <<<< $pc
+ CategoryInfo : InvalidArgument: ( : ) [Get-ADComputer], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.ActiveDirectory.Management.Commands.GetADComputer


get-adcomputer : Der Parameter "Identity" kann nicht gebunden werden. Der Wert "Microsoft.PowerShell.Commands.Internal.Format.FormatEnd
Data" vom Typ "Microsoft.PowerShell.Commands.Internal.Format.FormatEndData" kann nicht in den Typ "Microsoft.ActiveDirectory.Management
.ADComputer" konvertiert werden.

Was mache ich falsch?

Danke!
SC

Content-Key: 197471

Url: https://administrator.de/contentid/197471

Printed on: April 23, 2024 at 12:04 o'clock

Member: colinardo
colinardo Jan 23, 2013 updated at 10:15:30 (UTC)
Goto Top
Das Format-Table Name -A am Ende von Zeile 1 weglassen, sollte helfen.

Grüße Uwe
Member: Scroller
Scroller Jan 24, 2013 at 05:25:27 (UTC)
Goto Top
Format-Table Name -A weglassen alleine wars nicht.
Ich musste noch die Schleife anpassen:

$c = get-adcomputer $pc.name

...jetzt gehts


trotzdem Danke!
SC
Member: colinardo
colinardo Jan 24, 2013 at 08:43:34 (UTC)
Goto Top
dies scheint an der PowerShell Version zu liegen, zumindest funktioniert es unter Server 2012 mit Powershell 3.0 auch mit $c = get-adcomputer $pc
Mitglied: 106543
106543 Jan 24, 2013 at 09:24:29 (UTC)
Goto Top
Hi,

mit Powershell 3.0 wurden viele Verbesserungen eingeführt, wie z.B. wenn bei bestimmten Befehlen kein Parameter angegeben ist, dass automatisch ein bestimmter genommen wird.

Grüße
Exzellius