You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This cmdlet is available in on-premises Exchange and in the cloud-based service. Some parameters and settings may be exclusive to one environment or the other.
16
16
17
-
Use the Search-AdminAuditLog cmdlet to search the contents of the administrator audit log.
17
+
Use the Search-AdminAuditLog cmdlet to search the contents of the administrator audit log. Administrator audit logging records when a user or administrator makes a change in your organization (in the Exchange admin center or by using cmdlets).
18
18
19
19
For information about the parameter sets in the Syntax section below, see Exchange cmdlet syntax (https://technet.microsoft.com/library/bb123552.aspx).
If you run the Search-AdminAuditLog cmdlet without any parameters, up to 1,000 log entries are returned by default.
33
41
34
42
Note: In Exchange Online, if you don't use the StartDate or EndDate parameters, only results from the last 14 days are returned.
35
43
44
+
For more information about the structure and properties of the audit log, [Administrator audit log structure](https://docs.microsoft.com/en-us/Exchange/policy-and-compliance/admin-audit-logging/log-structure).
45
+
36
46
You need to be assigned permissions before you can run this cmdlet. Although this topic lists all parameters for the cmdlet, you may not have access to some parameters if they're not included in the permissions assigned to you. To find the permissions required to run any cmdlet or parameter in your organization, see Find the permissions required to run any Exchange cmdlet (https://technet.microsoft.com/library/mt432940.aspx).
37
47
38
48
## EXAMPLES
39
49
40
50
### -------------------------- Example 1 --------------------------
This example finds all the administrator audit log entries that match the following criteria:
@@ -80,9 +90,9 @@ This example returns entries in the administrator audit log of an Exchange Onlin
80
90
## PARAMETERS
81
91
82
92
### -Cmdlets
83
-
The Cmdlets parameter specifies the cmdlets you want to search for in the administrator audit log. Only the log entries that contain the cmdlets you specify are returned.
93
+
The Cmdlets parameter filters the results by the cmdlets that were used. You can specify multiple cmdlets separated by commas.
84
94
85
-
If you want to specify more than one cmdlet, separate each cmdlet with a comma.
95
+
In the results of this cmdlet, this property is named **CmdletName**.
86
96
87
97
```yaml
88
98
Type: MultiValuedProperty
@@ -118,6 +128,8 @@ The EndDate parameter specifies the end date of the date range.
118
128
119
129
Use the short date format that's defined in the Regional Options settings on the computer where you're running the command. For example, if the computer is configured to use the short date format mm/dd/yyyy, enter 09/01/2018 to specify September 1, 2018. You can enter the date only, or you can enter the date and time of day. If you enter the date and time of day, enclose the value in quotation marks ("), for example, "09/01/2018 5:00 PM".
120
130
131
+
In the results of this cmdlet, the date/time when the change was made (the cmdlet was run) is returned in the property named **RunDate**.
132
+
121
133
```yaml
122
134
Type: ExDateTime
123
135
Parameter Sets: (All)
@@ -130,8 +142,33 @@ Accept pipeline input: False
130
142
Accept wildcard characters: False
131
143
```
132
144
145
+
### -ExternalAccess
146
+
The ExternalAccess parameter filters the results by changes that were made (cmdlets that were run) by users outside of your organization. Valid values are:
147
+
148
+
- $true: Only return audit log entries where the change was made by an external user. In Exchange Online, use value to return audit log entries for changes that were made by Microsoft datacenter administrators.
149
+
150
+
- $false: Only return audit log entries where the change was made by an internal user.
151
+
152
+
```yaml
153
+
Type: $true | $false
154
+
Parameter Sets: (All)
155
+
Aliases:
156
+
Applicable: Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online
157
+
Required: False
158
+
Position: Named
159
+
Default value: None
160
+
Accept pipeline input: False
161
+
Accept wildcard characters: False
162
+
```
163
+
133
164
### -IsSuccess
134
-
The IsSuccess parameter specifies whether only administrator audit log entries that indicated a success or failure should be returned. Valid values are $true and $false.
165
+
The IsSuccess parameter filters the results by whether the changes were successful. Valid values are:
166
+
167
+
- $true: Only return audit log entries where the change was successful (in other words, the cmdlet ran successfully).
168
+
169
+
- $false: Only return audit log entries where the change was not successful (in other words, the cmdlet did not run successfully and resulted in an error).
170
+
171
+
In the results of this cmdlet, this property is named **Succeeded**.
The ObjectIds parameter specifies that only administrator audit log entries that contain the specified changed objects should be returned. This parameter accepts a variety of objects, such as mailbox aliases, Send connector names, and so on.
186
+
The ObjectIds parameter filters the results by the object that was modified (the mailbox, public folder, Send connector, transport rule, accepted domain, etc. that the cmdlet operated on). A valid value depends on how the object is represented in the audit log. For example:
187
+
188
+
- Name
150
189
151
-
If you want to specify more than one object ID, separate each ID with a comma.
190
+
- Canonical distinguished name (for example, contoso.com/Users/Akia Al-Zuhairi)
191
+
192
+
- Public folder identity (for example, \\Engineering\\Customer Discussion)
193
+
194
+
You'll likely need to use other filtering parameters on this cmdlet to narrow down the results and identify the types of objects that you're interested in. In the results of this cmdlet, this property is named **ObjectModified**.
195
+
196
+
To enter multiple values, use the following syntax: Value1,Value2,...ValueN. If the values contain spaces or otherwise require quotation marks, you need to use the following syntax: "Value 1","Value 2",..."Value N".
The Parameters parameter specifies the parameters you want to search for in the administrator audit log. Only the log entries that contain the parameters you specify are returned. You can only use this parameter if you use the Cmdlets parameter.
211
+
The Parameters parameter filters the results by the parameters that were used. You can only use this parameter with the Cmdlets parameter (you can't use it by itself). You can specify multiple parameters separated by commas.
167
212
168
-
If you want to specify more than one parameter, separate each parameter with a comma.
213
+
In the results of this cmdlet, this property is named **CmdletParameters**
The ResultSize parameter specifies the maximum number of results to return. The default value is 1000.
229
+
184
230
The maximum results to return is 250,000.
185
231
186
232
```yaml
@@ -200,6 +246,8 @@ The StartDate parameter specifies the start date of the date range.
200
246
201
247
Use the short date format that's defined in the Regional Options settings on the computer where you're running the command. For example, if the computer is configured to use the short date format mm/dd/yyyy, enter 09/01/2018 to specify September 1, 2018. You can enter the date only, or you can enter the date and time of day. If you enter the date and time of day, enclose the value in quotation marks ("), for example, "09/01/2018 5:00 PM".
202
248
249
+
In the results of this cmdlet, the date/time when the change was made (the cmdlet was run) is returned in the property named **RunDate**.
The UserIds parameter specifies that only the administrator audit log entries that contain the specified ID of the user who ran the cmdlet should be returned.
279
+
The UserIds parameter filters the results by the user who made the change (who ran the cmdlet).
232
280
233
-
If you want to specify more than one user ID, separate each ID with a comma.
281
+
A typical value for this parameter is the user principal name (UPN; for example, [email protected]). But, updates that were made by system accounts without email addresses might use the Domain\Username syntax (for example, NT AUTHORITY\SYSTEM (MSExchangeHMHost)).
234
282
235
-
```yaml
236
-
Type: MultiValuedProperty
237
-
Parameter Sets: (All)
238
-
Aliases:
239
-
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online
240
-
Required: False
241
-
Position: Named
242
-
Default value: None
243
-
Accept pipeline input: False
244
-
Accept wildcard characters: False
245
-
```
283
+
To enter multiple values, use the following syntax: User1,User2,...UserN. If the values contain spaces or otherwise require quotation marks, you need to use the following syntax: "User 1","User 2",..."User N".
246
284
247
-
### -ExternalAccess
248
-
The ExternalAccess parameter returns only audit log entries for cmdlets that were run by a user outside of your organization. In Exchange Online, use this parameter to return audit log entries for cmdlets run by Microsoft datacenter administrators.
285
+
In the results of this cmdlet, this property is named **Caller**
249
286
250
287
```yaml
251
-
Type: $true | $false
288
+
Type: MultiValuedProperty
252
289
Parameter Sets: (All)
253
290
Aliases:
254
-
Applicable: Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online
291
+
Applicable: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online
0 commit comments