> For the complete documentation index, see [llms.txt](https://docs.ucmadscientist.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ucmadscientist.com/using-ucmpstools/cmdlet-reference/accounts-and-voice-apps/new-ucmoffice365user-todo.md).

# New-UcmOffice365User -todo

Checks for and creates a new blank Office 365 User

## Description

Checks for and creates a new blank Office 365 user&#x20;

Used by other UcmPsTools Cmdlets, but can be handy for some situations where you need to create a user account for things that can't be sorted with a Teams resource account.

Examples include Teams Meeting Room accounts, Common Area Phones, etc.

{% hint style="warning" %}
Note: All accounts will be "Cloud born". Thus, this cmdlet cannot create accounts that use a domain managed via an on-prem AD instance. (AADSync/DirSync or Shared Sip Space domains, for example)
{% endhint %}

Example

## Outputs

This Cmdet returns a PSCustomObject with multiple keys to indicate the results.&#x20;

<details>

<summary>$Return.Status</summary>

`$Return.Status` returns one of four values \
**"OK" :** The operation was successful, nothing of concern\
&#x20;**"Warn" :** The operation was successful, but there is something you should be mindful of \
(For example trying to create a forward that already exists, or running low on licences to assign)\
More information will be found in `$Return.Message`\
**"Error" :** The operation was unsuccessful, Something happened when attempting to perform the operation that the function couldn't handle automatically, check `$Return.Message` for more information \
**"Unknown" :** Cmdlet reached the end of the function without returning anything, this shouldn't happen, if it does please log an issue on GitHub with your relevant log files.

</details>

<details>

<summary>$Return.Message</summary>

`$Return.Message` returns descriptive text relevant to the status, mainly for logging, reporting or diagnosis.

</details>

**Return.Status** can return one of four values.&#x20;
