面倒、死のう

すごくなんかネカマっぽいテーマがあったしこれにしとこう

PowerShellでのOPathがわけワカメ

Get-MailboxとかGet-MailContactとかで-Filterしたい場合ですが
PowerShellで初めてそのOPath構文と戦っているわけです。

動くやつ

[string] $key = '出向者'
Get-Mailbox -Filter "CustomAttribute15 -eq '$key'"

動かないやつ

class keyholder{
  [string] $key
}
$foo = [keyholder]::new()
$foo = '出向者'
Get-Mailbox -Filter "CustomAttribute15 -eq '$foo.key'"

条件に含める変数をクラスオブジェクトにした途端、ダメになる。

Write-Host "CustomAttribute15 -eq '$foo.key'"
### CustomAttribute15 -eq 'keyholder.key'

と、なぜかオブジェクト型?を返しているようなので

class keyholder{
  [string] $key
}
$foo
Get-Mailbox -Filter ("CustomAttribute15 -eq '"+$foo.key+"'")

これで期待通りの動き。
なんか煩雑。いい方法はないものか...。