質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Active Directory

Active Directoryは、 Windows Serverの機能の一つで、 マイクロソフトによって作られたディレクトリサービスです。 ネットワーク上に存在する様々なハードや利用者情報のアクセス権限などを一元管理が出来ます。

Q&A

解決済

1回答

8039閲覧

Get-ADObject -Filter コマンドの戻り値に困っている。

K-iwata

総合スコア19

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Active Directory

Active Directoryは、 Windows Serverの機能の一つで、 マイクロソフトによって作られたディレクトリサービスです。 ネットワーク上に存在する様々なハードや利用者情報のアクセス権限などを一元管理が出来ます。

0グッド

0クリップ

投稿2016/08/19 04:26

編集2016/08/19 04:30

###実現したいこと
Powershellを使って、Active Directoryのグループを作成し、そこにメールアドレスを付与する対話式のスクリプトを開発しています。
グループを作成する前に、利用したいメールアドレスがすでに使われていないか確認し、
存在しない場合は作成のソースに、存在する場合は処理の中止のソースに条件分岐させたいです。

###発生している問題・エラーメッセージ
下記のソースを書きましたが、やはり-filterオプションでは戻り値がすべて$Tureとなってしまうため、後続のif分の分岐がうまくいかず、すべて中止のソースに入ってしまいます。

###該当のソースコード

powershell

1$Script:Groupaddress = Read-Host -Prompt "登録予定のメールアドレスを入力してください。例)abc@abcdef.jp" 2$Get-ADObject -Filter [email -eq $Groupaddress] > $null 3$Script:ResultMLExistance = $? 4if ($ResultMLExistance -eq $false){ 5 #セキュリティグループ作成およびメールアドレス付与のソースが続く 6} else { 7 #すでに利用中のメールアドレスのため、処理を中止するソースが続く 8}

上記実現のために、何かよい方法はございませんでしょうか?
ご教授願います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

$? は最後のコマンドが成功したかどうかを表しますから、$True になると思います。
Get-ADObject の結果を $null にリダイレクトするのではなく、変数に入れ、それが $null ではなく、Length が 0 より大きければ成功となるのではないですか?
ActiveDirectory を使っていないので想像です。

$ga = Get-ADObject -Filter [email -eq $Groupaddress] if ($ga -ne $null -and $ga.Length -gt 0) { #すでに利用中のメールアドレスのため、処理を中止するソースが続く } else { #セキュリティグループ作成およびメールアドレス付与のソースが続く }

投稿2016/08/19 10:57

Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K-iwata

2017/07/11 13:13

返信遅れてすみません。 頂いた内容の発想で上手くいきましたので、ベストアンサーにさせていただきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問