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
| <nobr>Name</nobr> || The name of the mail-enabled security group to create or retrieve. This is also used as the alias if no separate Alias parameter is provided. | true | false ||
280
280
| <nobr>Alias</nobr> || An optional alias for the group. If omitted, the group name is used as the alias. | false | false ||
281
-
| <nobr>PrimarySmtpAddress</nobr> ||\(CustomDomain parameter set\\) The full SMTP address for the group \(e.g. "[email protected]"\\). This parameter is mandatory when using the 'CustomDomain' parameter set. | true | false ||
282
-
| <nobr>DefaultDomain</nobr> ||\(DefaultDomain parameter set\\) The domain portion to be appended to the group alias \(e.g. "Alias@DefaultDomain"\\). This parameter is mandatory when using the 'DefaultDomain' parameter set. | true | false ||
281
+
| <nobr>PrimarySmtpAddress</nobr> ||\\(CustomDomain parameter set\) The full SMTP address for the group \\(e.g. "[email protected]"\). This parameter is mandatory when using the 'CustomDomain' parameter set. | true | false ||
282
+
| <nobr>DefaultDomain</nobr> ||\\(DefaultDomain parameter set\) The domain portion to be appended to the group alias \\(e.g. "Alias@DefaultDomain"\). This parameter is mandatory when using the 'DefaultDomain' parameter set. | true | false ||
283
+
| <nobr>LogOutputPath</nobr> || An optional path to output the log file. If not provided, logs will not be written to a file. | false | false ||
- Microsoft.Exchange.Data.Directory.Management.DistributionGroup Returns the newly created or existing mail-enabled security group object.
290
291
291
292
### Note
292
-
- Requires connectivity to Exchange Online \(Connect-TkMsService -ExchangeOnline\\). - The caller must have sufficient privileges to create or modify distribution groups. - DefaultParameterSetName = 'CustomDomain'.
293
+
- Requires connectivity to Exchange Online \\(Connect-TkMsService -ExchangeOnline\). - The caller must have sufficient privileges to create or modify distribution groups. - DefaultParameterSetName = 'CustomDomain'.
293
294
294
295
### Examples
295
296
**EXAMPLE 1**
@@ -314,9 +315,9 @@ Publishes a new or existing Graph Email App with specified configurations.
| Name | Alias | Description | Required? | Pipeline Input | Default Value |
449
453
| - | - | - | - | - | - |
450
-
| <nobr>AppPrefix</nobr> || A short prefix \(2-4 alphanumeric characters\\) used to build the app name. Defaults to "Gtk" if not specified. Example app name: GraphToolKit-MSN-GraphApp-MyDomain-As-helpDesk | false | false | Gtk |
454
+
| <nobr>AppPrefix</nobr> || A short prefix \\(2-4 alphanumeric characters\) used to build the app name. Defaults to "Gtk" if not specified. Example app name: GraphToolKit-MSN-GraphApp-MyDomain-As-helpDesk | false | false | Gtk |
451
455
| <nobr>CertThumbprint</nobr> || The thumbprint of an existing certificate in the current user's certificate store. If not provided, a new self-signed certificate is created. | false | false ||
452
-
| <nobr>KeyExportPolicy</nobr> || Specifies whether the newly created certificate \(if no thumbprint is provided\\) is 'Exportable' or 'NonExportable'. Defaults to 'NonExportable'. | false | false | NonExportable |
456
+
| <nobr>KeyExportPolicy</nobr> || Specifies whether the newly created certificate \\(if no thumbprint is provided\) is 'Exportable' or 'NonExportable'. Defaults to 'NonExportable'. | false | false | NonExportable |
453
457
| <nobr>VaultName</nobr> || The SecretManagement vault name in which to store the app credentials. Defaults to "M365AuditAppLocalStore" if not specified. | false | false | M365AuditAppLocalStore |
454
458
| <nobr>OverwriteVaultSecret</nobr> || If specified, overwrites an existing secret in the specified vault if it already exists. | false | false | False |
455
459
| <nobr>ReturnParamSplat</nobr> || If specified, returns a parameter splat string for use in other functions, instead of the default PSCustomObject containing the app details. | false | false | False |
- None. This function does not accept pipeline input.
459
463
460
464
### Outputs
461
-
- By default, returns a PSCustomObject with details of the new app \(AppId, ObjectId, TenantId, certificate thumbprint, expiration, etc.\\). If -ReturnParamSplat is used, returns a parameter splat string.
465
+
- By default, returns a PSCustomObject with details of the new app \\(AppId, ObjectId, TenantId, certificate thumbprint, expiration, etc.\). If -ReturnParamSplat is used, returns a parameter splat string.
462
466
463
467
### Note
464
-
Requires the Microsoft.Graph and ExchangeOnlineManagement modules for app creation and role assignment. The user must have sufficient privileges to create and manage applications in Azure AD, and to assign roles. After creation, admin consent may be required for the assigned permissions. Permissions required for app registration: 'Application.ReadWrite.All', 'DelegatedPermissionGrant.ReadWrite.All', 'Directory.ReadWrite.All', 'RoleManagement.ReadWrite.Directory' Permissions granted to the app: \(Exchange Administrator and Global Reader Roles are also added to the service principal.\\) 'AppCatalog.ReadWrite.All', 'Channel.Delete.All', 'ChannelMember.ReadWrite.All', 'ChannelSettings.ReadWrite.All', 'Directory.Read.All', 'Group.ReadWrite.All', 'Organization.Read.All', 'Policy.Read.All', 'Domain.Read.All', 'TeamSettings.ReadWrite.All', 'User.Read.All', 'Sites.Read.All', 'Sites.FullControl.All', 'Exchange.ManageAsApp'
468
+
Requires the Microsoft.Graph and ExchangeOnlineManagement modules for app creation and role assignment. The user must have sufficient privileges to create and manage applications in Azure AD, and to assign roles. After creation, admin consent may be required for the assigned permissions. Permissions required for app registration: 'Application.ReadWrite.All', 'DelegatedPermissionGrant.ReadWrite.All', 'Directory.ReadWrite.All', 'RoleManagement.ReadWrite.Directory' Permissions granted to the app: \\(Exchange Administrator and Global Reader Roles are also added to the service principal.\) 'AppCatalog.ReadWrite.All', 'Channel.Delete.All', 'ChannelMember.ReadWrite.All', 'ChannelSettings.ReadWrite.All', 'Directory.Read.All', 'Group.ReadWrite.All', 'Organization.Read.All', 'Policy.Read.All', 'Domain.Read.All', 'TeamSettings.ReadWrite.All', 'User.Read.All', 'Sites.Read.All', 'Sites.FullControl.All', 'Exchange.ManageAsApp'
465
469
466
470
### Examples
467
471
**EXAMPLE 1**
@@ -474,7 +478,7 @@ the credentials in the default vault.
474
478
475
479
## Publish-TkMemPolicyManagerApp
476
480
### Synopsis
477
-
Publishes a new MEM \(Intune\\) Policy Manager App in Azure AD with read-only or read-write permissions.
481
+
Publishes a new MEM \\(Intune\) Policy Manager App in Azure AD with read-only or read-write permissions.
| Name | Alias | Description | Required? | Pipeline Input | Default Value |
489
493
| - | - | - | - | - | - |
490
-
| <nobr>AppPrefix</nobr> || A 2-4 character prefix used to build the application name \(e.g., CORP, MSN\\). This helps uniquely identify the app in Azure AD. | true | false ||
494
+
| <nobr>AppPrefix</nobr> || A 2-4 character prefix used to build the application name \\(e.g., CORP, MSN\). This helps uniquely identify the app in Azure AD. | true | false ||
491
495
| <nobr>CertThumbprint</nobr> || The thumbprint of an existing certificate in the current user's certificate store. If omitted, a new self-signed certificate is created. | false | false ||
492
496
| <nobr>KeyExportPolicy</nobr> || Specifies whether the newly created certificate is 'Exportable' or 'NonExportable'. Defaults to 'NonExportable' if not specified. | false | false | NonExportable |
493
497
| <nobr>VaultName</nobr> || The name of the SecretManagement vault in which to store the app credentials. Defaults to 'MemPolicyManagerLocalStore'. | false | false | MemPolicyManagerLocalStore |
- None. This function does not accept pipeline input.
500
504
501
505
### Outputs
502
-
- By default, returns a PSCustomObject \(TkMemPolicyManagerAppParams\\) with details of the newly created app \(AppId, certificate thumbprint, tenant ID, etc.\\). If -ReturnParamSplat is used, returns a parameter splat string.
506
+
- By default, returns a PSCustomObject \\(TkMemPolicyManagerAppParams\) with details of the newly created app \\(AppId, certificate thumbprint, tenant ID, etc.\). If -ReturnParamSplat is used, returns a parameter splat string.
503
507
504
508
### Note
505
509
This function requires the Microsoft.Graph module for application creation and the user must have permissions in Azure AD to register and grant permissions to the application. After creation, admin consent may be needed to finalize the permission grants. Permissions required for app registration:: 'Application.ReadWrite.All', 'DelegatedPermissionGrant.ReadWrite.All', 'Directory.ReadWrite.All' Permissions required for read-only access: 'DeviceManagementConfiguration.Read.All', 'DeviceManagementApps.Read.All', 'DeviceManagementManagedDevices.Read.All', 'Policy.Read.ConditionalAccess', 'Policy.Read.All' Permissions required for read-write access: 'DeviceManagementConfiguration.ReadWrite.All', 'DeviceManagementApps.ReadWrite.All', 'DeviceManagementManagedDevices.ReadWrite.All', 'Policy.ReadWrite.ConditionalAccess', 'Policy.Read.All'
| Name | Alias | Description | Required? | Pipeline Input | Default Value |
532
536
| - | - | - | - | - | - |
533
-
| <nobr>AppName</nobr> ||\[Vault Parameter Set Only\] The name of the pre-created Microsoft Graph Email App \(stored in GraphEmailAppLocalStore\\). Used only if the 'Vault' parameter set is chosen. The function retrieves the AppId, TenantId, and certificate thumbprint from the vault entry. | true | false ||
534
-
| <nobr>AppId</nobr> ||\[Manual Parameter Set Only\] The Azure AD application \(client\\) ID to use for sending the email. Must be used together with TenantId and CertThumbprint in the 'Manual' parameter set. | true | false ||
535
-
| <nobr>TenantId</nobr> ||\[Manual Parameter Set Only\] The Azure AD tenant ID \(GUID or domain name\\). Must be used together with AppId and CertThumbprint in the 'Manual' parameter set. | true | false ||
536
-
| <nobr>CertThumbprint</nobr> ||\[Manual Parameter Set Only\] The certificate thumbprint \(in Cert:\\CurrentUser\\My\\) used for authenticating as the Azure AD app. Must be used together with AppId and TenantId in the 'Manual' parameter set. | true | false ||
537
+
| <nobr>AppName</nobr> ||\[Vault Parameter Set Only\\] The name of the pre-created Microsoft Graph Email App \\(stored in GraphEmailAppLocalStore\). Used only if the 'Vault' parameter set is chosen. The function retrieves the AppId, TenantId, and certificate thumbprint from the vault entry. | true | false ||
538
+
| <nobr>AppId</nobr> ||\[Manual Parameter Set Only\\] The Azure AD application \\(client\) ID to use for sending the email. Must be used together with TenantId and CertThumbprint in the 'Manual' parameter set. | true | false ||
539
+
| <nobr>TenantId</nobr> ||\[Manual Parameter Set Only\\] The Azure AD tenant ID \\(GUID or domain name\). Must be used together with AppId and CertThumbprint in the 'Manual' parameter set. | true | false ||
540
+
| <nobr>CertThumbprint</nobr> ||\[Manual Parameter Set Only\\] The certificate thumbprint \\(in Cert:\\CurrentUser\\My\) used for authenticating as the Azure AD app. Must be used together with AppId and TenantId in the 'Manual' parameter set. | true | false ||
537
541
| <nobr>To</nobr> || The email address of the recipient. | true | false ||
538
542
| <nobr>FromAddress</nobr> || The email address of the sender who is authorized to send email as configured in the Graph Email App. | true | false ||
539
543
| <nobr>Subject</nobr> || The subject line of the email. | true | false ||
540
544
| <nobr>EmailBody</nobr> || The body text of the email. | true | false ||
541
545
| <nobr>AttachmentPath</nobr> || An array of file paths for any attachments to include in the email. Each path must exist as a leaf file. | false | false ||
542
-
| <nobr>VaultName</nobr> ||\[Vault Parameter Set Only\] The name of the vault to retrieve the GraphEmailApp object. Default is 'GraphEmailAppLocalStore'. | false | false | GraphEmailAppLocalStore |
546
+
| <nobr>VaultName</nobr> ||\[Vault Parameter Set Only\\] The name of the vault to retrieve the GraphEmailApp object. Default is 'GraphEmailAppLocalStore'. | false | false | GraphEmailAppLocalStore |
543
547
| <nobr>WhatIf</nobr> | wi || false | false ||
544
548
| <nobr>Confirm</nobr> | cf || false | false ||
545
549
### Note
546
-
- This function requires the Microsoft.Graph, SecretManagement, SecretManagement.JustinGrote.CredMan, and MSAL.PS modules to be installed \(handled automatically via Initialize-TkModuleEnv\\). - For the 'Vault' parameter set, the local vault secret must store JSON properties including AppId, TenantID, and CertThumbprint. - Refer to https://learn.microsoft.com/en-us/graph/outlook-send-mail for details on sending mail via Microsoft Graph.
550
+
- This function requires the Microsoft.Graph, SecretManagement, SecretManagement.JustinGrote.CredMan, and MSAL.PS modules to be installed \\(handled automatically via Initialize-TkModuleEnv\). - For the 'Vault' parameter set, the local vault secret must store JSON properties including AppId, TenantID, and CertThumbprint. - Refer to https://learn.microsoft.com/en-us/graph/outlook-send-mail for details on sending mail via Microsoft Graph.
0 commit comments