Bug pemfilteran kotak surat PowerShell?

Memeriksa apakah alamat tertentu sudah digunakan oleh kotak surat mana pun sebagai alamat SMTP atau SIP.

Perintah di bawah ini tidak secara otomatis mencari alamat SIP tanpa menambahkan awalan, jadi:

  • $SMTP = "bruce@###.com"
  • $SIP = "sip:bruce@###.com"

    Get-Mailbox -Filter 'emailaddresses -eq $SMTP -or emailaddresses -eq "sip:bruce@###.com"'
    

Yang di atas berfungsi, yang di bawah ini tidak:

   Get-Mailbox -Filter 'emailaddresses -eq $SMTP -or emailaddresses -eq $SIP'

Mencoba ToString() dan banyak hal lainnya tetapi saya tidak dapat menjalankannya dengan variabel, tidak yakin apa masalahnya di sini... kedua variabel adalah string.


person Glenn    schedule 13.05.2019    source sumber


Jawaban (1)


doc.mircosoft:

Saat Anda mengapit string dalam tanda kutip tunggal (string dengan tanda kutip tunggal), string tersebut diteruskan ke perintah persis seperti yang Anda ketik. Tidak ada pergantian pemain yang dilakukan.

Jadi filternya:

Get-Mailbox -Filter 'emailaddresses -eq $SMTP -or emailaddresses -eq $SIP'

akan digunakan apa adanya ('emailaddresses -eq $SMTP -or emailaddresses -eq $SIP') tidak ada substitusi variabel yang akan dilakukan.

Ubah menjadi:

 Get-Mailbox -Filter "emailaddresses -eq $SMTP -or emailaddresses -eq $SIP"

Dan

 Get-Mailbox -Filter "emailaddresses -eq $SMTP -or emailaddresses -eq `"sip:bruce@###.com`""

Semoga itu bisa membantu

person Moerwald    schedule 13.05.2019
comment
Dapatkan-Kotak Surat -Filter alamat email -eq '$SMTP' -atau alamat email -eq '$SIP' - person Glenn; 13.05.2019