[解決済み] PowerShell 'Or' ステートメント
2022-03-02 20:45:56
質問
Active Directoryを経由して、ある条件を満たすユーザーを取得しようとしています。マネージャーAかマネージャーBのどちらかを持つユーザーを取得したいのですが、or文の実装方法がよくわかりません。以下は私のコードです。
Get-ADUser -Filter * -Properties country, extensionattribute9 | if (extensionattribute9 -eq 'Smith, Joe') or (extensionattribute9 -eq 'Doe, John') {select extensionsattribute9, country}
このコードでは
extensionattribute9
これはユーザーのマネージャーを示すものです。
を使用することも試みました。
where
の代わりに
if
が、無駄だった。
解決方法は?
演算子は
-or
ではなく
or
. 参照
about_Logical_Operators
. また
if
ステートメントは、パイプラインから読み込まれません。パイプラインから読み込まないように
if
ステートメントを
ForEach-Object
のループになります。
... | ForEach-Object {
if ($_.extensionattribute9 -eq 'Smith, Joe' -or $_.extensionattribute9 -eq 'Doe, John') {
$_ | select extensionsattribute9, country
}
}
を使用するか、または
Where-Object
ステートメントで代用できます。
... | Where-Object {
$_.extensionattribute9 -eq 'Smith, Joe' -or
$_.extensionattribute9 -eq 'Doe, John'
} | Select-Object extensionsattribute9, country
また、プロパティ名単体では使用できません。使用するのは
現在のオブジェクト変数
(
$_
) を使って、現在のオブジェクトのプロパティにアクセスすることができます。
ある属性が指定された数の値のいずれかを持っているかどうかを確認するために
-contains
演算子を使えば、複数の比較は不要です。
'Smith, Joe', 'Doe, John' -contains $_.extensionattribute9
関連
-
[解決済み】powershellで再利用するために資格情報を保存すると、ConvertTo-SecureString : Key not valid for use in specified stateというエラーが発生する。
-
[解決済み] xPath を使用する Powershell スクリプトの .SelectSingleNode が web.config ファイルから値を抽出する際に動作していない
-
[解決済み] PowershellでTimeZoneを設定する方法
-
[解決済み] インストールされたPowerShellのバージョンを確認する
-
[解決済み] PowerShellで「このシステムではスクリプトの実行が無効になっています」と言われる。
-
[解決済み] PowerShellでコードをコメントアウトする方法とは?
-
[解決済み] Windows PowerShellの環境変数を設定する
-
[解決済み] PowerShellで文字列と変数を連結する方法は?
-
[解決済み] PowerShellでスクリプトを終了させる
-
[解決済み】PowerShellスクリプトを実行する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Powershellを使用します。PowerShellでパスを再読み込みする
-
[解決済み] Invoke-Sqlcmd エラー : リモート DB サーバを呼び出すために powershell を実行すると、ユーザ xxxx のログインに失敗しました。
-
[解決済み] Get-ChildItem -force で My Documents フォルダとその他の接続ポイントに "Access Denied" を報告する。
-
[解決済み] 管理者として実行しても、「要求されたレジストリへのアクセスは許可されません」と表示される。
-
[解決済み] PowerShellでLDAPクエリ
-
[解決済み] Powershell send-mailmessage - 複数の受信者にメールを送信する
-
[解決済み] powershellスクリプトで、最後に改行を入れずにWrite-Warningすることはできますか?
-
[解決済み] 実行中のPowerShellスクリプトからすべての環境変数を表示する
-
[解決済み] PowershellでTimeZoneを設定する方法
-
[解決済み] Windows Server 2016で、すべてのPowerShellセッションのコマンド履歴を確認するにはどうすればよいですか?