2017-11-09 6 views
-3

コンピュータ名を検索し、名前の6〜8文字を比較して名前を検索し、それぞれのOUに移動しようとしています。私は正規表現を含める必要があると思うが、私は助けが必要だ。名前vststsystest01の文字を見てする必要がありますx文字に基づいてコンピュータ名を検索する

Set-ExecutionPolicy Bypass -Force 
Import-Module ActiveDirectory 
#$computername = gc env:computername 
$computername = "vststsystest01" 
#if ($env:computerName.contains("APP")) {Write-Host $env:computerName} 
if ($computername.contains(" ") | Get-ADComputer $computername | Move- 
ADObject -Targetpath "ou=ou_name,dc=DC,dc=cient,dc=com" 

を教えてください - 6-8文字を検索する必要があります。たとえば、SYSが含まれている場合は、それをそれぞれのOUに移動します。

+0

あなたは、単一のコンピュータオブジェクトを取得しようとしていますか?または、その文字列を名前に含むすべてのコンピュータオブジェクトを取得しますか? –

+0

あなたにはいくつかの作業がありますか? 'switch'ブロックがあなたがここで望むものかもしれません。 – Matt

+0

あなたの投稿を破壊しないでください。あなたは代わりにそれを削除することができます –

答えて

1

あなたの最後の編集について:

$computername = "vststsystest01" 

if($computername.substring(5,3) -match "Sys|Sec|App"){ 
    Get-ADComputer $computername | Move-ADObject -Targetpath "ou=ou_name,dc=DC,dc=cient,dc=com" 
} 
+0

何がサブストリング(5,3)ですか? –

+0

@HenryB文字列の文字5から始まり、3文字をキャプチャします。文字列オブジェクトメソッド – TheIncorrigible1

+0

SYSは、指定された文字位置ではなく、名前に6〜8文字で表示されます –

3

編集:私は誤ってOPの配列コレクションのステートメントが含まれています。あなたが特定の文字を検索しようとしている場合

:彼は実際に私はあなたが-like comparison operator

If ($ComputerName -like '*vs2016*') 
{ 
    Get-ADComputer $ComputerName | Move-ADObject -TargetPath $Path 
} 

アップデートを探していると信じていlooks for the specified string and returns $True if it is indeed a substring

単一の文字列でそれを使用していましたそれらはホスト名では定数ですが、.Substring()を使用してそれらと正規表現のOR |オペレータにアクセスできます。あるいは、私はswitchステートメントを利用すべきだと思います。

## Substring(5,3) captures 3 characters starting at position 5 (6th character) 
Switch ($ComputerName.Substring(5,3)) 
{ 
    'SYS' { <# logiC#> } 
    'TIT' { <# logiC#> } 
    'TAT' { <# logiC#> } 
    Default { <# catch-all if it doesn't match #> } 
} 
+0

その名前は使用されていません。コンピュータ名vststsystest01を見てください 具体的には、この場合はsysである文字6-8を見ています。これは、いくつかの名前を付けるだけで、次の文字セットの1つになる可能性があります。 のSys 秒 のApp など 私はあなたの例に基づいたツールを与え、それが対応するOU –

+0

にマシンを移動する文字のこれらのセットに基づいています。あなた自身のロジックを理解する。 @HenryB – TheIncorrigible1

+0

オリジナルの質問を編集しました。 –

関連する問題