Set-RemoteMailbox

Roger Roger 7,181 Reputation points
2023-04-26T18:59:12.0266667+00:00

Hi All

i am using exchange 2016 hybrid envrionment. we create users in onprem and migrate to online.I want to hide few mailboxes. i have the mailboxes in csv file. I am using the below syntax in onprem i am getting the error.


users
******@contoso.com
******@contoso.com

$users=import-csv C:/temp/list.csv
foreach($user in $users){Set-RemoteMailbox $user.Name -HiddenFromAddressListsEnabled $true}

Creating a new session for implicit remoting of "Set-RemoteMailbox" command...
Cannot bind argument to parameter 'Identity' because it is null.
    + CategoryInfo          : InvalidData: (:) [Set-RemoteMailbox], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Set-RemoteMailbox

Exchange Online
Exchange Online
A Microsoft email and calendaring hosted service.
6,178 questions
Exchange | Exchange Server | Management
Exchange | Hybrid management
{count} votes

Accepted answer
  1. Kael Yao 37,746 Reputation points Moderator
    2023-04-27T01:18:40.19+00:00

    Hi @Roger Roger,

    From the error message Cannot bind argument to parameter 'Identity' because it is null, there is no value passed to the Set-RemoteMailbox cmdlet.

    Since the data format in your csv file is:

    users

    ******@contoso.com

    ******@contoso.com

    You should modify this row from

    foreach($user in $users){Set-RemoteMailbox $user.Name -HiddenFromAddressListsEnabled $true}
    

    to

    foreach($user in $users){Set-RemoteMailbox $user.users -HiddenFromAddressListsEnabled $true}
    

    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment". 

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    0 comments No comments

2 additional answers

Sort by: Most helpful
  1. Roger Roger 7,181 Reputation points
    2023-04-27T03:20:57.2566667+00:00

    i have tried that as well i am getting same error.


  2. Konstantinos Passadis 19,591 Reputation points MVP
    2023-04-29T19:26:24.07+00:00

    Hello @Roger Roger !

    The error message indicates that the $user.Name parameter is null, which means that the Name column from the CSV file is not being read properly.

    Make sure that the header name of the CSV file is "Name" and that there are no extra spaces or characters before or after the header name.

    You can also modify your code to explicitly reference the "Name" column in the CSV file using the following syntax:

    $users = Import-Csv C:/temp/list.csv

    foreach ($user in $users) {

    **Set-RemoteMailbox -Identity $user.Name -HiddenFromAddressListsEnabled $true**
    

    }

    This should ensure that the Name column is properly read and used to set the Identity parameter for the Set-RemoteMailbox cmdlet.

    i hope this helps , if it did helped kindly mark it as Accepted , otherwise send us some feedback !

    Regards

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.