2016-05-01 5 views
0

$Computer.StartsWith("WI-")を使用している場合、私は次のエラーPowerShellのエラー - 方法私はこれがデフォルトの方法であるという印象の下で午前

Method invocation failed because [Microsoft.ActiveDirectory.Management.ADComputer] does not contain a method named 'StartsWith' 

を得るが見つかりません。これを使用するためにインポートする必要があるものはありますか?

+0

'$コンピュータ=のGet-ADComputer -SearchBase CN =コンピュータ、DCを=ドメイン、DC =ローカル」-Filter '*' foreachの($コンピュータで$コンピューター) { ($ Computer.StartsWith( "WI-")){ <#書き込みホスト「移動$コンピュータの場合〜$ TargetOU "|#>移動-ADObject $コンピュータ-TargetPath $ TargetOU } } ' –

答えて

0

代わりにこれを試してみてください:[Microsoft.ActiveDirectory.Management.ADComputer]型のオブジェクトは、「StartsWith」という名前のメソッドが含まれていません。

$Computerはどこから来ますか? Get-ADComputer cmdletから? Read How to list all AD computer object properties

$Computer | Get-Member | ft -AutoSizeを実行すると、より多くのメッセージが表示されます。

実行$Computer.GetType()も同様です。 $Computerが配列でない場合たとえば、次の仕事ができる:

$Computer.Name.StartsWith("WI-") 
$Computer.CN.StartsWith("WI-") 
$Computer.DisplayName.StartsWith("WI-") 

ただし、次の同様の表現は、別の結果与えることができる:

$Computer.Name.ToUpper().StartsWith("WI-") 
$Computer.CN.ToUpper().StartsWith("WI-") 
$Computer.DisplayName.ToUpper().StartsWith("WI-") 
1

というエラーがかなり明確である

$env:COMPUTERNAME.StartsWith("WI-") 
+0

エラーを停止しましたが、if文がまだ機能していません。 if($ env:COMPUTERNAME.StartsWith( "WI-")) { Write-Host "コンピュータを$ TargetOUに移動" | Move-ADObject $ Computer -TargetPath $ TargetOU } –

+0

John、Janがあなたの質問に答えました。別の質問がある場合は、それを別々に投稿する必要があります。詳細については、ヘルプセンターをご覧ください。 –

+1

実際には、Χpẘ、いいえ、私の質問には答えません。 $ env:COMPUTERNAMEは、$ Computer変数ではないマシンのコンピュータ名を参照します。 –

関連する問題