[GH-ISSUE #119] Error when attempting to reference templates/ ini files in SharePoint Online #51

Closed
opened 2026-02-27 20:30:59 +03:00 by kerem · 14 comments
Owner

Originally created by @rayakajamon on GitHub (Jul 11, 2024).
Original GitHub issue: https://github.com/Set-OutlookSignatures/Set-OutlookSignatures/issues/119

Originally assigned to: @rayakajamon, @GruberMarkus on GitHub.

Issue happens in the latest release

  • I confirm that the issue happens in the latest release of Set-OutlookSignatures

Previously solved issues and documentation

  • I have searched through previous issues and documentation, but have not found an answer to my issue

Code of Conduct

  • I agree to follow this project's Code of Conduct

What happened?

When attempting to store files in SharePoint (Eliminate VPN) the script tries to open Internet Explorer it hangs with this window open.... My default browser is Edge (Tried with and without IE compatibility mode enabled). I have also tried with Chrome as the default browser, and I get the same result.

It appears to be this snippet of code
image

image

Any idea what might be the issue?

Thank you

Originally created by @rayakajamon on GitHub (Jul 11, 2024). Original GitHub issue: https://github.com/Set-OutlookSignatures/Set-OutlookSignatures/issues/119 Originally assigned to: @rayakajamon, @GruberMarkus on GitHub. ### Issue happens in the latest release - [X] I confirm that the issue happens in the latest release of Set-OutlookSignatures ### Previously solved issues and documentation - [X] I have searched through previous issues and documentation, but have not found an answer to my issue ### Code of Conduct - [X] I agree to follow this project's Code of Conduct ### What happened? When attempting to store files in SharePoint (Eliminate VPN) the script tries to open Internet Explorer it hangs with this window open.... My default browser is Edge (Tried with and without IE compatibility mode enabled). I have also tried with Chrome as the default browser, and I get the same result. It appears to be this snippet of code ![image](https://github.com/Set-OutlookSignatures/Set-OutlookSignatures/assets/22497886/045b249f-4868-48d1-a300-689c79a18671) ![image](https://github.com/Set-OutlookSignatures/Set-OutlookSignatures/assets/22497886/25e7fe97-1515-4bc6-bc84-85df6ddb3d7d) Any idea what might be the issue? Thank you
kerem closed this issue 2026-02-27 20:31:00 +03:00
Author
Owner

@GruberMarkus commented on GitHub (Jul 11, 2024):

Hi @rayakajamon,

let's start with the good news: The next release, which is already in testing and will be published in the next few weeks, will be able to connect to SharePoint Online (not SharePoint on-prem) via Microsoft Graph, which will eliminate the problem you describe.

Now to your problem: Set-OutlookSignatures treats SharePoint paths as WebDAV paths and tries to mount them by using the "net use" command of Windows. This only works when the following conditions are all met (as documented in the README file):

  • The WebClient service is running
  • Port 443 is open towards the SharePoint server
  • The firewall does not block WebDAV

The WebClient service needs an Internet Explorer cookie, no other browser will work.

On some systems, this does not work. We do not yet know why, and we will probably not investigate further as it rarely happens and as we have a solution for SharePoint Online in the pipeline.

You have not attached a verbose log. is your SharePoint library hosted on-prem or in SharePoint Online?

<!-- gh-comment-id:2223367875 --> @GruberMarkus commented on GitHub (Jul 11, 2024): Hi @rayakajamon, let's start with the good news: The next release, which is already in testing and will be published in the next few weeks, will be able to connect to SharePoint Online (not SharePoint on-prem) via Microsoft Graph, which will eliminate the problem you describe. Now to your problem: Set-OutlookSignatures treats SharePoint paths as WebDAV paths and tries to mount them by using the "net use" command of Windows. This only works when the following conditions are all met (as documented in the README file): - The WebClient service is running - Port 443 is open towards the SharePoint server - The firewall does not block WebDAV The WebClient service needs an Internet Explorer cookie, no other browser will work. On some systems, this does not work. We do not yet know why, and we will probably not investigate further as it rarely happens and as we have a solution for SharePoint Online in the pipeline. You have not attached a verbose log. is your SharePoint library hosted on-prem or in SharePoint Online?
Author
Owner

@rayakajamon commented on GitHub (Jul 11, 2024):

Hi Gruber, thank you so much for the quick response. Our on-prem SP environment is not SSL which I believe is a requirement, so I did not try using that instance. I was told by ExplicitIT (purchased the paid product) that it was already able to connect to SP online. Now that I know it is not setup yet for SPO, I will just wait for the new release. Below is what I was told. Thank you

image

<!-- gh-comment-id:2223411977 --> @rayakajamon commented on GitHub (Jul 11, 2024): Hi Gruber, thank you so much for the quick response. Our on-prem SP environment is not SSL which I believe is a requirement, so I did not try using that instance. I was told by ExplicitIT (purchased the paid product) that it was already able to connect to SP online. Now that I know it is not setup yet for SPO, I will just wait for the new release. Below is what I was told. Thank you ![image](https://github.com/Set-OutlookSignatures/Set-OutlookSignatures/assets/22497886/806b33cf-cf7b-402c-aa29-d39c2af38088)
Author
Owner

@GruberMarkus commented on GitHub (Jul 11, 2024):

Set-OutlookSignatures definitely works with SharePoint Online. It is running fine with SPO in all our test environments.

In the README file, all seven parameters referenced by ExplicIT Consulting contain the following text: SharePoint document libraries are supported (https only) - mind the https only.

If your on-prem environment does not support https, it can't work.

Without a verbose log, further analysis is not possible.

<!-- gh-comment-id:2223639920 --> @GruberMarkus commented on GitHub (Jul 11, 2024): Set-OutlookSignatures definitely works with SharePoint Online. It is running fine with SPO in all our test environments. In the README file, all seven parameters referenced by ExplicIT Consulting contain the following text: `SharePoint document libraries are supported (https only)` - mind the **`https only`**. If your on-prem environment does not support https, it can't work. Without a verbose log, further analysis is not possible.
Author
Owner

@GruberMarkus commented on GitHub (Jul 12, 2024):

Are you interested in test a preview version which no longer requires Internet Explorer to access SharePoint Online?

If yes, let me know and attach the full output of the script run with the -verbose parameter. The verbose log is needed to determine if your environment suits the beta test requirements.

Edit: The problem might be related to new SharePoint Online versions currently being rolled out in waves. What's the output of https://1itservices.sharepoint.com/_vti_pvt/service.cnf (replace "1itservices" with your tenant name)?

<!-- gh-comment-id:2225102462 --> @GruberMarkus commented on GitHub (Jul 12, 2024): Are you interested in test a preview version which no longer requires Internet Explorer to access SharePoint Online? If yes, let me know and attach the full output of the script run with the -verbose parameter. The verbose log is needed to determine if your environment suits the beta test requirements. Edit: The problem might be related to new SharePoint Online versions currently being rolled out in waves. What's the output of https://1itservices.sharepoint.com/_vti_pvt/service.cnf (replace "1itservices" with your tenant name)?
Author
Owner

@rayakajamon commented on GitHub (Jul 12, 2024):

Thank you. Yes, I am very interested in the test preview version.
transcript1.txt

I have added the log file. Please know there isn't much to review as the IE window pops up with the "browser not supported" message very early on. Like the one I initially sent.

If you need anything else, please let me know. Thank you so much

<!-- gh-comment-id:2225650937 --> @rayakajamon commented on GitHub (Jul 12, 2024): Thank you. Yes, I am very interested in the test preview version. [transcript1.txt](https://github.com/user-attachments/files/16195036/transcript1.txt) I have added the log file. Please know there isn't much to review as the IE window pops up with the "browser not supported" message very early on. Like the one I initially sent. If you need anything else, please let me know. Thank you so much
Author
Owner

@GruberMarkus commented on GitHub (Jul 12, 2024):

Looks good for the preview version.

Things to do before:

  1. The https paths do not match the format provided in the README file. Change them accordings (test in a browser if they work, and modify them if needed)
  2. The problem might be related to new SharePoint Online versions currently being rolled out in waves. What's the output of https://1itservices.sharepoint.com/_vti_pvt/service.cnf (replace "1itservices" with your tenant name)?
  3. Post a comment with the verbose log of the script adapted according to step 1, and answer the question from step 2
<!-- gh-comment-id:2225741815 --> @GruberMarkus commented on GitHub (Jul 12, 2024): Looks good for the preview version. Things to do before: 1. The https paths do not match the format provided in the README file. Change them accordings (test in a browser if they work, and modify them if needed) - BenefactorCircleLicenseFile from 'https://healthesystems2016.sharepoint.com/:u:/r/sites/HesOrganizationalAssets/Outlook%20Signature/License/license.dll?csf=1&web=1&e=14bsjJ' to 'https://healthesystems2016.sharepoint.com/sites/HesOrganizationalAssets/Outlook%20Signature/License/license.dll' - SignatureTemplatePath from 'https://healthesystems2016.sharepoint.com/:f:/r/sites/HesOrganizationalAssets/Outlook%20Signature/Templates/Signatures?csf=1&web=1&e=fpEulu' to 'https://healthesystems2016.sharepoint.com/sites/HesOrganizationalAssets/Outlook%20Signature/Templates/Signatures' - SignatureIniPath from 'https://healthesystems2016.sharepoint.com/:u:/r/sites/HesOrganizationalAssets/Outlook%20Signature/Config/_Signatures.ini?csf=1&web=1&e=sMbUwr' to 'https://healthesystems2016.sharepoint.com/sites/HesOrganizationalAssets/Outlook%20Signature/Config/_Signatures.ini' - ReplacementVariableConfigFile from 'https://healthesystems2016.sharepoint.com/:u:/r/sites/HesOrganizationalAssets/Outlook%20Signature/Config/default%20replacement%20variables.ps1?csf=1&web=1&e=dOonGo' to 'https://healthesystems2016.sharepoint.com/sites/HesOrganizationalAssets/Outlook%20Signature/Config/default%20replacement%20variables.ps1' 2. The problem might be related to new SharePoint Online versions currently being rolled out in waves. What's the output of https://1itservices.sharepoint.com/_vti_pvt/service.cnf (replace "1itservices" with your tenant name)? 3. Post a comment with the verbose log of the script adapted according to step 1, and answer the question from step 2
Author
Owner

@rayakajamon commented on GitHub (Jul 12, 2024):

Thank you so much for the help. It appears to have worked this time. I tried multiple variations of the url, and thought I followed the format in the READ ME exactly, but I must have had something off. Apologies for taking your time. Really appreciate the help!

image

<!-- gh-comment-id:2226012917 --> @rayakajamon commented on GitHub (Jul 12, 2024): Thank you so much for the help. It appears to have worked this time. I tried multiple variations of the url, and thought I followed the format in the READ ME exactly, but I must have had something off. Apologies for taking your time. Really appreciate the help! ![image](https://github.com/user-attachments/assets/c5aa3977-38c6-4ed3-a362-cbca954faf78)
Author
Owner

@GruberMarkus commented on GitHub (Jul 12, 2024):

As you have not provided answers to steps 2 and 3: Do you want to close this issue without testing the preview version?

<!-- gh-comment-id:2226046480 --> @GruberMarkus commented on GitHub (Jul 12, 2024): As you have not provided answers to steps 2 and 3: Do you want to close this issue without testing the preview version?
Author
Owner

@rayakajamon commented on GitHub (Jul 12, 2024):

Yes, I would still like to try the preview. I was adding the output of question #2 to my previous comment when your message came in. Thank you
transcript1.txt

image

I went back to previous script calls and I see where my mistake was in the url. :u:/r was still in it.

<!-- gh-comment-id:2226054039 --> @rayakajamon commented on GitHub (Jul 12, 2024): Yes, I would still like to try the preview. I was adding the output of question #2 to my previous comment when your message came in. Thank you [transcript1.txt](https://github.com/user-attachments/files/16197594/transcript1.txt) ![image](https://github.com/user-attachments/assets/948fd8c1-7b6d-4152-a99f-096a8f25b300) I went back to previous script calls and I see where my mistake was in the url. :u:/r was still in it.
Author
Owner

@GruberMarkus commented on GitHub (Jul 12, 2024):

  1. Do NOT use this preview version together with the Benefactor Circle add-on!
  2. Only use this preview version with test accounts.
  3. Add the 'Files.Read.All' Graph permission to the test Entra ID app you use. Add it as delegated permission, not as application permission, grant admin consent, and wait a few minutes. If you need help with this, please take advantage of ExplicIT Consulting's fee-based support.
  4. Read the changelog below
  5. Replace your local copy of Set-OutlookSignatures.ps1 with the attached file.
  6. Run Set-OutlookSignatures with the -verbose parameter and post the full script output. As you do not host a custom GraphConfigFile on SharePoint Online, you do not need to pass the new GraphClientID parameter to the script.

CHANGELOG

Changed

  • Make simulation mode results for defaultNew and defaultReplyFwd signatures cross-platform compatible by not creating shortcuts (Windows) or symbolic links (Linux, macOS), but actually copying the files.
  • Include the file name of the actual signature or OOF reply in simulation mode results for defaultNew, defaultReplyFwd, OOFInternal and OOFExternal files ("defaultNew (sample signature name).htm", for example).
  • Update handling of SharePoint WebDAV authentication to reflect not yet documented Microsoft API changes.
  • Update sample code Create-EntraApp.ps1 for new Files.Read.All permission and add a hint to consider switching to Files.SelectedOperations.Selected.

Added

  • Detect if a template or configuration file path is hosted on SharePoint Online, and use Microsoft Graph to access it. This enables SharePoint Online access on Linux and macOS. To use this, you need to update your Entra ID app with the delegated (not application) permission Files.Read.All (Files.SelectedOperations.Selected also works, but requires additional configuration). Access to SharePoint on-prem is still limited to Windows and WebDAV with an authentication cookie created in Internet Explorer.
  • Add new parameter GraphClientID. Must be set when GraphConfigFile is hosted on SharePoint Online. See .\docs\README for details.
  • Show local and UTC time for SimulateTime parameter when in simulation mode.
  • Remove trailing null character from file names being enumerated in SharePoint folders. .Net or the WebDAV client sometimes add a null character, which is not allowed in file and path names.

Fixed

  • Do not allow parameter SignatureCollectionInDrafts in simulation mode unless SimulateAndDeploy is enabled.
  • Fix a potential problem with paged Microsoft Graph queries which could lead to an infinite loop.

Preview version

Set-OutlookSignatures.rename-to-ps1.txt

<!-- gh-comment-id:2226106251 --> @GruberMarkus commented on GitHub (Jul 12, 2024): 1. Do NOT use this preview version together with the Benefactor Circle add-on! 2. Only use this preview version with test accounts. 3. Add the 'Files.Read.All' Graph permission to the test Entra ID app you use. Add it as delegated permission, not as application permission, grant admin consent, and wait a few minutes. If you need help with this, please take advantage of [ExplicIT Consulting](https://explicitconsulting.at)'s fee-based support. 4. Read the changelog below 5. Replace your local copy of Set-OutlookSignatures.ps1 with the attached file. 6. Run Set-OutlookSignatures with the -verbose parameter and post the full script output. As you do not host a custom GraphConfigFile on SharePoint Online, you do not need to pass the new GraphClientID parameter to the script. # CHANGELOG ### Changed - Make simulation mode results for defaultNew and defaultReplyFwd signatures cross-platform compatible by not creating shortcuts (Windows) or symbolic links (Linux, macOS), but actually copying the files. - Include the file name of the actual signature or OOF reply in simulation mode results for defaultNew, defaultReplyFwd, OOFInternal and OOFExternal files ("defaultNew (sample signature name).htm", for example). - Update handling of SharePoint WebDAV authentication to reflect not yet documented Microsoft API changes. - Update sample code `Create-EntraApp.ps1` for new `Files.Read.All` permission and add a hint to consider switching to `Files.SelectedOperations.Selected`. ### Added - Detect if a template or configuration file path is hosted on SharePoint Online, and use Microsoft Graph to access it. This enables SharePoint Online access on Linux and macOS. To use this, you need to update your Entra ID app with the delegated (not application) permission `Files.Read.All` (`Files.SelectedOperations.Selected` also works, but requires additional configuration). Access to SharePoint on-prem is still limited to Windows and WebDAV with an authentication cookie created in Internet Explorer. - Add new parameter `GraphClientID`. Must be set when `GraphConfigFile` is hosted on SharePoint Online. See `.\docs\README` for details. - Show local and UTC time for SimulateTime parameter when in simulation mode. - Remove trailing null character from file names being enumerated in SharePoint folders. .Net or the WebDAV client sometimes add a null character, which is not allowed in file and path names. ### Fixed - Do not allow parameter `SignatureCollectionInDrafts` in simulation mode unless `SimulateAndDeploy` is enabled. - Fix a potential problem with paged Microsoft Graph queries which could lead to an infinite loop. # Preview version [Set-OutlookSignatures.rename-to-ps1.txt](https://github.com/user-attachments/files/16197753/Set-OutlookSignatures.rename-to-ps1.txt)
Author
Owner

@GruberMarkus commented on GitHub (Jul 18, 2024):

@rayakajamon, what are your thoughts and test results about the preview version?

<!-- gh-comment-id:2235697414 --> @GruberMarkus commented on GitHub (Jul 18, 2024): @rayakajamon, what are your thoughts and test results about the preview version?
Author
Owner

@rayakajamon commented on GitHub (Jul 18, 2024):

Hi Markus, unfortunately, I have been temporarily pulled into a higher priority project. I will have to circle back on this. Apologies.

Hope you have a great day!

-Ray Gonzalez


From: Markus Gruber @.>
Sent: Thursday, July 18, 2024 2:07 AM
To: Set-OutlookSignatures/Set-OutlookSignatures @.
>
Cc: rayakajamon @.>; Mention @.>
Subject: Re: [Set-OutlookSignatures/Set-OutlookSignatures] Error when attempting to reference templates/ ini files in SharePoint Online (Issue #119)

@rayakajamonhttps://github.com/rayakajamon, what are your thoughts and test results about the preview version?


Reply to this email directly, view it on GitHubhttps://github.com/Set-OutlookSignatures/Set-OutlookSignatures/issues/119#issuecomment-2235697414, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFLUUXS355KIQTZ2GAZJICDZM5LTTAVCNFSM6AAAAABKXJYZA2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMZVGY4TONBRGQ.
You are receiving this because you were mentioned.Message ID: @.***>

<!-- gh-comment-id:2236864222 --> @rayakajamon commented on GitHub (Jul 18, 2024): Hi Markus, unfortunately, I have been temporarily pulled into a higher priority project. I will have to circle back on this. Apologies. Hope you have a great day! -Ray Gonzalez ________________________________ From: Markus Gruber ***@***.***> Sent: Thursday, July 18, 2024 2:07 AM To: Set-OutlookSignatures/Set-OutlookSignatures ***@***.***> Cc: rayakajamon ***@***.***>; Mention ***@***.***> Subject: Re: [Set-OutlookSignatures/Set-OutlookSignatures] Error when attempting to reference templates/ ini files in SharePoint Online (Issue #119) @rayakajamon<https://github.com/rayakajamon>, what are your thoughts and test results about the preview version? — Reply to this email directly, view it on GitHub<https://github.com/Set-OutlookSignatures/Set-OutlookSignatures/issues/119#issuecomment-2235697414>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AFLUUXS355KIQTZ2GAZJICDZM5LTTAVCNFSM6AAAAABKXJYZA2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMZVGY4TONBRGQ>. You are receiving this because you were mentioned.Message ID: ***@***.***>
Author
Owner

@GruberMarkus commented on GitHub (Jul 18, 2024):

Closing this issue as there is no obvious bug involved.

<!-- gh-comment-id:2237060305 --> @GruberMarkus commented on GitHub (Jul 18, 2024): Closing this issue as there is no obvious bug involved.
Author
Owner

@rayakajamon commented on GitHub (Aug 13, 2024):

Hi Markus, I hope I find you well. As mentioned, my priorities got shifted, so apologies for the delay in getting this to you.

I was recently able to jump back on this project and ran the preview version you shared with me.

I have attached the verbose transcript from my test. It may be too late but figured it couldn't hurt.

Thank you for all of your help.

-Ray Gonzalez


From: Markus Gruber @.>
Sent: Thursday, July 18, 2024 2:07 AM
To: Set-OutlookSignatures/Set-OutlookSignatures @.
>
Cc: rayakajamon @.>; Mention @.>
Subject: Re: [Set-OutlookSignatures/Set-OutlookSignatures] Error when attempting to reference templates/ ini files in SharePoint Online (Issue #119)

@rayakajamonhttps://github.com/rayakajamon, what are your thoughts and test results about the preview version?


Reply to this email directly, view it on GitHubhttps://github.com/Set-OutlookSignatures/Set-OutlookSignatures/issues/119#issuecomment-2235697414, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFLUUXS355KIQTZ2GAZJICDZM5LTTAVCNFSM6AAAAABKXJYZA2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMZVGY4TONBRGQ.
You are receiving this because you were mentioned.

**********************
Windows PowerShell transcript start
Start time: 20240813133618
Username: TAMPA\rgonzalez
RunAs User: TAMPA\rgonzalez
Configuration Name:
Machine: RGONZALEZ-L (Microsoft Windows NT 10.0.22621.0)
Host Application: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -file C:\HES\SOS - Copy\start.ps1
Process ID: 19756
PSVersion: 5.1.22621.3880
PSEdition: Desktop
PSCompatibleVersions: 1.0, 2.0, 3.0, 4.0, 5.0, 5.1.22621.3880
BuildVersion: 10.0.22621.3880
CLRVersion: 4.0.30319.42000
WSManStackVersion: 3.0
PSRemotingProtocolVersion: 2.3
SerializationVersion: 1.1.0.1


Transcript started, output file is C:\transcripts\transcript1.txt

Start script @2024-08-13T13:36:18-04:00@

Script notes @2024-08-13T13:36:18-04:00@
Software: Set-OutlookSignatures
Version : XXXVersionStringXXX
VERBOSE: GET with 0-byte payload
VERBOSE: received 701-byte response of content type text/plain; charset=utf-8
At least one release newer than XXXVersionStringXXX is available: v1.0.0, ..., v4.13.0
Web : https://github.com/Set-OutlookSignatures/Set-OutlookSignatures
License : See '.\LICENSE.txt' for details and copyright

Check parameters and script environment @2024-08-13T13:36:19-04:00@
PowerShell: '5.1.22621.3880', 'Desktop', 'Microsoft Windows NT 10.0.22621.0'
PowerShell bitness: 64-bit process on a 64-bit operating system
PowerShell parameters: ' .\Set-OutlookSignatures\Set-OutlookSignatures.ps1 -GraphOnly true -DeleteUserCreatedSignatures true -SignatureTemplatePath "..\Templates\Signatures" -SignatureIniPath "..\Config_Signatures.ini" -ReplacementVariableConfigFile '..\Config\default replacement variables.ps1' -verbose
'
Script path: 'C:\HES\SOS - Copy\Set-OutlookSignatures\Set-OutlookSignatures.ps1'
TrustsToCheckForGroups: '*'
IncludeMailboxForestDomainLocalGroups: 'False'
CloudEnvironment: 'Public'
GraphConfigFile: '.\config\default graph config.ps1'
VERBOSE: Execute config file 'C:\HES\SOS - Copy\Set-OutlookSignatures\config\default graph config.ps1'
VERBOSE: 'C:\HES\SOS - Copy\Set-OutlookSignatures\config\default graph config.ps1' is accessible, nothing more to do.

VERBOSE: # This file allows defining the default configuration for connecting to Microsoft Graph for Set-OutlookSignatures
VERBOSE: #
VERBOSE: # This script is executed as a whole once per Set-OutlookSignatures run.
VERBOSE: #
VERBOSE: # Attention: The configuration file is executed as part of Set-OutlookSignatures.ps1 and is not checked for any harmful content. Please only allow qualified technicians write access to this file, only use it to to define replacement variables and test it thoroughly.
VERBOSE: #
VERBOSE: # A variable defined in this file overrides the definition of the same variable defined earlier in the software.
VERBOSE: #
VERBOSE: #
VERBOSE: # What is the recommended approach for custom configuration files?
VERBOSE: # You should not change the default configuration file '.\config\default graph config.ps1', as it might be changed in a future release of Set-OutlookSignatures. In this case, you would have to sort out the changes yourself.
VERBOSE: #
VERBOSE: # The following steps are recommended:
VERBOSE: # 1. Create a new custom configuration file in a separate folder.
VERBOSE: # 2. The first step in the new custom configuration file should be to load the default configuration file:
VERBOSE: # # Loading default replacement variables shipped with Set-OutlookSignatures
VERBOSE: # . ([System.Management.Automation.ScriptBlock]::Create((Get-Content -LiteralPath $(Join-Path -Path $(Get-Location).ProviderPath -ChildPath '\config\default graph config.ps1') -Raw)))
VERBOSE: # 3. After importing the default configuration file, existing configurations and mappings can be altered with custom definitions and new ones can be added.
VERBOSE: # 4. Instead of altering existing replacement variables, it is recommended to create new replacement variables with modified content.
VERBOSE: # 5. Start Set-OutlookSignatures with the parameter 'GraphConfigFile' pointing to the new custom configuration file.
VERBOSE:
VERBOSE:
VERBOSE: # Client ID
VERBOSE: # The default client ID is defined in the developers Entra ID/Azure AD tenant as multi-tenant, so it can be used everywhere
VERBOSE: # For security and maintenance reasons, it is recommended to create you own app in your own tenant
VERBOSE: # It can be replaced with the ID of an app created in your own tenant
VERBOSE: # Option A: Create the app automatically by using the script '.\sample code\Create-EntraApp.ps1'
VERBOSE: # The sample code creates the app with all required settings automatically, only providing admin consent is a manual task
VERBOSE: # Option B: Create the Entra app manually
VERBOSE: # Create an app in Entra admin center (https://entra.microsoft.com)
VERBOSE: # Sign in as at least Cloud Application Administrator
VERBOSE: # Identity > Applications > App registrations > New registration
VERBOSE: # Enter at least a display name for your application
VERBOSE: # Set "Supported account type" to "Accounts in this organizational directory only"
VERBOSE: # Set Redirect URI to "Mobile and desktop applications" and 'http://localhost' (http, not https)
VERBOSE: # The "Application (client) ID" is the value you need to set for $GraphClientID in this file
VERBOSE: # Client secret
VERBOSE: # There is no need to define a client secret, as we only work with delegated permissions, and not with application permissions
VERBOSE: # Add the following delegated permissions (not application permissions)
VERBOSE: # Identity > Applications > App registrations > your application > API permissions > Add a permission
VERBOSE: # Microsoft Graph
VERBOSE: # email
VERBOSE: # Allows the app to read your users' primary email address.
VERBOSE: # Required to log on the current user.
VERBOSE: # EWS.AccessAsUser.All
VERBOSE: # Allows the app to have the same access to mailboxes as the signed-in user via Exchange Web Services.
VERBOSE: # Required to connect to Outlook Web and to set Outlook Web signature (classic and roaming).
VERBOSE: # GroupMember.Read.All
VERBOSE: # Allows the app to list groups, read basic group properties and read membership of all groups the signed-in user has access to.
VERBOSE: # Required to find groups by name and to get their security identifier (SID) and the number of transitive members.
VERBOSE: # MailboxSettings.ReadWrite
VERBOSE: # Allows the app to create, read, update, and delete user's mailbox settings. Does not include permission to send mail.
VERBOSE: # Required to detect the state of the out of office assistant and to set out-of-office replies.
VERBOSE: # offline_access
VERBOSE: # Allows the app to see and update the data you gave it access to, even when users are not currently using the app. This does not give the app any additional permissions.
VERBOSE: # Required to get a refresh token from Graph.
VERBOSE: # openid
VERBOSE: # Allows users to sign in to the app with their work or school accounts and allows the app to see basic user profile information.
VERBOSE: # Required to log on the current user.
VERBOSE: # profile
VERBOSE: # Allows the app to see your users' basic profile (e.g., name, picture, user name, email address).
VERBOSE: # Required to log on the current user, to access the '/me' Graph API, to get basic properties of the current user.
VERBOSE: # User.Read.All
VERBOSE: # Allows the app to read the full set of profile properties, reports, and managers of other users in your organization, on behalf of the signed-in user.
VERBOSE: # Required for CurrentUser[...] and CurrentMailbox[...] replacement variables, and for simulation mode.
VERBOSE: # Provide admin consent
VERBOSE: # Click the "Grant admin consent for {your tenant}" button
VERBOSE: # Enable 'Allow public client flows'
VERBOSE: # Identity > Applications > App registrations > your application > Advanced settings
VERBOSE: # Enable "Allow public client flows"
VERBOSE: # This enables SSO (single sign-on) for domain-joined Windows (Integrated Windows Authentication Flow)
VERBOSE: $GraphClientID = 'beea8249-8c98-4c76-92f6-ce3c468a61e6'
VERBOSE:
VERBOSE:
VERBOSE: # Endpoint version
VERBOSE: $GraphEndpointVersion = 'v1.0'
VERBOSE:
VERBOSE:
VERBOSE: # Message box text to show when Linux keyring or macOS keychain is not yet unlocked, and the system asks the user for the password to unlock it
VERBOSE: # Leave blank to not show message box at all
VERBOSE: # Defining a text is recommended to inform users why they are asked by the system to unlock their keyring or keychain
VERBOSE: # Set-OutlookSignatures usually runs in the background, so the system request is a negative surprise for users
VERBOSE: # On Windows, the message box is shown on the very top of the active desktop and can not be sent to the background,
VERBOSE: # but does not steal the focus
VERBOSE: $GraphUnlockKeyringKeychainMessageboxText = "You started Set-OutlookSignatures, or an administrator configured it to run for you to update your Outlook signatures and out-of-office replies.$([System.Environment]::NewLine)$([System.Environment]::NewLine)To look up a required security token for access to Microsoft 365, $(if($IsLinux){ $($PSVersionTable.OS) } elseif ($IsMacOS) { $("$(sw_vers -productName) $(sw_vers -productVersion)") }) will ask you to unlock your personal $( if($IsLinux){ 'keyring' } else { 'keychain' }) with your password.$([System.Environment]::NewLine)$([System.Environment]::NewLine)Should you choose to not unlock you personal $( if($IsLinux){ 'keyring' } else { 'keychain' }), the security token will be saved in an unencrypted file in your user directory."
VERBOSE:
VERBOSE:
VERBOSE: # Message box text to show before browser opens for authentication to Microsoft 365
VERBOSE: # Leave blank to not show message box at all
VERBOSE: # Defining a text is recommended to inform users about the upcoming opening of a new browser tab asking for authentication
VERBOSE: # Set-OutlookSignatures usually runs in the background and the M365 logon screen can not show a hint to Set-OutlookSignatures,
VERBOSE: # so the new tab is a negative surprise for users
VERBOSE: # On Windows, the message box is shown on the very top of the active desktop and can not be sent to the background,
VERBOSE: # but does not steal the focus
VERBOSE: $GraphHtmlMessageboxText = "You started Set-OutlookSignatures, or an administrator configured it to run for you to update your Outlook signatures and out-of-office replies.$([System.Environment]::NewLine)$([System.Environment]::NewLine)A required security token for access to Microsoft 365 is not yet available.$([System.Environment]::NewLine)$([System.Environment]::NewLine)The program may run for the first time on this client, a previous security token may have expired or been deleted.$([System.Environment]::NewLine)$([System.Environment]::NewLine)To create this required security token, please login to Microsoft 365 with your account$(if($script:CurrentUser){" '$($script:CurrentUser)'"}) in the new browser tab that will open after you close this message."
VERBOSE:
VERBOSE:
VERBOSE: # HTML message to show after successful browser authentication to Microsoft Graph
VERBOSE: # Try to keep the resulting HTML code small, as long code may lead to display errors ("connection reset")
VERBOSE: $GraphHtmlMessageSuccess = "<html><head></head><body style=""font-family:sans-serif;"">

<a href=""$(if ($BenefactorCircleLicenseFile) { 'https://explicitconsulting.at/open-source/set-outlooksignatures' } else { 'https://github.com/Set-OutlookSignatures/Set-OutlookSignatures' })"" target=""_blank"">$(if ($BenefactorCircleLicenseFile) { 'Set-OutlookSignatures Benefactor Circle' } else { 'Set-OutlookSignatures' })

Graph authentication successful at $(Get-Date -Format 'yyyy-MM-ddTHH:mm:ssK').

 

Thank you for using <a href=""$(if ($BenefactorCircleLicenseFile) { 'https://explicitconsulting.at/open-source/set-outlooksignatures' } else { 'https://github.com/Set-OutlookSignatures/Set-OutlookSignatures' })"" target=""_blank"">$(if ($BenefactorCircleLicenseFile) { 'Set-OutlookSignatures Benefactor Circle' } else { 'Set-OutlookSignatures' })!

 

You can close this tab at any time.

</html>"
VERBOSE: # Example with automatically closing tab: $GraphHtmlMessageSuccess = "<html><head></head><body style=""font-family:sans-serif;"">

<a href=""$(if ($BenefactorCircleLicenseFile) { 'https://explicitconsulting.at/open-source/set-outlooksignatures' } else { 'https://github.com/Set-OutlookSignatures/Set-OutlookSignatures' })"" target=""blank"">$(if ($BenefactorCircleLicenseFile) { 'Set-OutlookSignatures Benefactor Circle' } else { 'Set-OutlookSignatures' })

Graph authentication successful at $(Get-Date -Format 'yyyy-MM-ddTHH:mm:ssK').

 

Thank you for using <a href=""$(if ($BenefactorCircleLicenseFile) { 'https://explicitconsulting.at/open-source/set-outlooksignatures' } else { 'https://github.com/Set-OutlookSignatures/Set-OutlookSignatures' })"" target=""blank"">$(if ($BenefactorCircleLicenseFile) { 'Set-OutlookSignatures Benefactor Circle' } else { 'Set-OutlookSignatures' })!

 

You can close this tab at any time.

</html>"
VERBOSE:
VERBOSE:
VERBOSE: # When the user successfully authenticates in the browser, the browser will be redirected to to the given Uri
VERBOSE: # Takes precedence over $GraphHtmlMessageSuccess
VERBOSE: [uri] $GraphBrowserRedirectSuccess = ''
VERBOSE:
VERBOSE:
VERBOSE: # HTML message to show after unsuccessful browser authentication to Microsoft Graph
VERBOSE: # Try to keep the resulting HTML code small, as long code may lead to display errors ("connection reset")
VERBOSE: $GraphHtmlMessageError = "<html><head></head><body style=""font-family:sans-serif;"">

<a href=""$(if ($BenefactorCircleLicenseFile) { 'https://explicitconsulting.at/open-source/set-outlooksignatures' } else { 'https://github.com/Set-OutlookSignatures/Set-OutlookSignatures' })"" target=""blank"">$(if ($BenefactorCircleLicenseFile) { 'Set-OutlookSignatures Benefactor Circle' } else { 'Set-OutlookSignatures' })

Graph authentication failed at $(Get-Date -Format 'yyyy-MM-ddTHH:mm:ssK').

You may want to inform your helpdesk or administrator about this problem.

 

Error: {0}

Details: {1}

 

Thank you for using <a href=""$(if ($BenefactorCircleLicenseFile) { 'https://explicitconsulting.at/open-source/set-outlooksignatures' } else { 'https://github.com/Set-OutlookSignatures/Set-OutlookSignatures' })"" target=""blank"">$(if ($BenefactorCircleLicenseFile) { 'Set-OutlookSignatures Benefactor Circle' } else { 'Set-OutlookSignatures' })!

</html>"
VERBOSE:
VERBOSE:
VERBOSE: # When the user fails to successfully authenticate in the browser, the browser will be redirected to to the given Uri
VERBOSE: # Takes precedence over $GraphHtmlMessageError
VERBOSE: [uri] $GraphBrowserRedirectError = ''
VERBOSE:
VERBOSE:
VERBOSE: # User properties to select
VERBOSE: # Custom Graph attributes: 'extension
'
VERBOSE: $GraphUserProperties = @(
VERBOSE: 'aboutMe',
VERBOSE: 'businessPhones',
VERBOSE: 'city',
VERBOSE: 'companyName',
VERBOSE: 'country',
VERBOSE: 'department',
VERBOSE: 'displayName',
VERBOSE: 'faxNumber',
VERBOSE: 'givenName',
VERBOSE: 'jobTitle',
VERBOSE: 'mail',
VERBOSE: 'mailNickname',
VERBOSE: 'mobilePhone',
VERBOSE: 'officeLocation',
VERBOSE: 'onPremisesDistinguishedName',
VERBOSE: 'onPremisesDomainName',
VERBOSE: 'onPremisesExtensionAttributes',
VERBOSE: 'onPremisesImmutableId',
VERBOSE: 'onPremisesSamAccountName',
VERBOSE: 'onPremisesSecurityIdentifier',
VERBOSE: 'onPremisesUserPrincipalName',
VERBOSE: 'postalCode',
VERBOSE: 'proxyAddresses',
VERBOSE: 'state',
VERBOSE: 'streetAddress',
VERBOSE: 'surname',
VERBOSE: 'usageLocation',
VERBOSE: 'userPrincipalName'
VERBOSE: )
VERBOSE:
VERBOSE:
VERBOSE: # Mapping Graph user properties to on-prem Active Directory user properties
VERBOSE: # This way, we do not need to differentiate between on-prem, hybrid and cloud in '.\config\default replacement variables.ps1'
VERBOSE: # Active Directory attribute names on the left, Graph attribute names on the right
VERBOSE: # Custom Graph attributes: 'extension
'
VERBOSE: $GraphUserAttributeMapping = @{
VERBOSE: co = 'country'
VERBOSE: company = 'companyName'
VERBOSE: department = 'department'
VERBOSE: displayName = 'displayName'
VERBOSE: extensionAttribute1 = 'onPremisesExtensionAttributes.extensionAttribute1'
VERBOSE: extensionAttribute2 = 'onPremisesExtensionAttributes.extensionAttribute2'
VERBOSE: extensionAttribute3 = 'onPremisesExtensionAttributes.extensionAttribute3'
VERBOSE: extensionAttribute4 = 'onPremisesExtensionAttributes.extensionAttribute4'
VERBOSE: extensionAttribute5 = 'onPremisesExtensionAttributes.extensionAttribute5'
VERBOSE: extensionAttribute6 = 'onPremisesExtensionAttributes.extensionAttribute6'
VERBOSE: extensionAttribute7 = 'onPremisesExtensionAttributes.extensionAttribute7'
VERBOSE: extensionAttribute8 = 'onPremisesExtensionAttributes.extensionAttribute8'
VERBOSE: extensionAttribute9 = 'onPremisesExtensionAttributes.extensionAttribute9'
VERBOSE: extensionAttribute10 = 'onPremisesExtensionAttributes.extensionAttribute10'
VERBOSE: extensionAttribute11 = 'onPremisesExtensionAttributes.extensionAttribute11'
VERBOSE: extensionAttribute12 = 'onPremisesExtensionAttributes.extensionAttribute12'
VERBOSE: extensionAttribute13 = 'onPremisesExtensionAttributes.extensionAttribute13'
VERBOSE: extensionAttribute14 = 'onPremisesExtensionAttributes.extensionAttribute14'
VERBOSE: extensionAttribute15 = 'onPremisesExtensionAttributes.extensionAttribute15'
VERBOSE: facsimileTelephoneNumber = 'faxNumber'
VERBOSE: givenName = 'givenName'
VERBOSE: l = 'city'
VERBOSE: mail = 'mail'
VERBOSE: mailNickname = 'mailNickname'
VERBOSE: mobile = 'mobilePhone'
VERBOSE: physicalDeliveryOfficeName = 'officeLocation'
VERBOSE: postalCode = 'postalCode'
VERBOSE: proxyAddresses = 'proxyAddresses'
VERBOSE: sn = 'surname'
VERBOSE: st = 'state'
VERBOSE: streetAddress = 'streetAddress'
VERBOSE: telephoneNumber = 'businessPhones'
VERBOSE: title = 'jobTitle'
VERBOSE: }
VERBOSE:
VERBOSE:
VERBOSE: # SIG # Begin signature block
VERBOSE: # MIIwUAYJKoZIhvcNAQcCoIIwQTCCMD0CAQExDzANBglghkgBZQMEAgEFADB5Bgor
VERBOSE: # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
VERBOSE: # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCVU5H9i4Mv9AMj
VERBOSE: # oCK037VuQIqfafHOOw09jtwU8AW3yKCCFCkwggWQMIIDeKADAgECAhAFmxtXno4h
VERBOSE: # MuI5B72nd3VcMA0GCSqGSIb3DQEBDAUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQK
VERBOSE: # EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNV
VERBOSE: # BAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDAeFw0xMzA4MDExMjAwMDBaFw0z
VERBOSE: # ODAxMTUxMjAwMDBaMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJ
VERBOSE: # bmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0
VERBOSE: # IFRydXN0ZWQgUm9vdCBHNDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
VERBOSE: # AL/mkHNo3rvkXUo8MCIwaTPswqclLskhPfKK2FnC4SmnPVirdprNrnsbhA3EMB/z
VERBOSE: # G6Q4FutWxpdtHauyefLKEdLkX9YFPFIPUh/GnhWlfr6fqVcWWVVyr2iTcMKyunWZ
VERBOSE: # anMylNEQRBAu34LzB4TmdDttceItDBvuINXJIB1jKS3O7F5OyJP4IWGbNOsFxl7s
VERBOSE: # Wxq868nPzaw0QF+xembud8hIqGZXV59UWI4MK7dPpzDZVu7Ke13jrclPXuU15zHL
VERBOSE: # 2pNe3I6PgNq2kZhAkHnDeMe2scS1ahg4AxCN2NQ3pC4FfYj1gj4QkXCrVYJBMtfb
VERBOSE: # BHMqbpEBfCFM1LyuGwN1XXhm2ToxRJozQL8I11pJpMLmqaBn3aQnvKFPObURWBf3
VERBOSE: # JFxGj2T3wWmIdph2PVldQnaHiZdpekjw4KISG2aadMreSx7nDmOu5tTvkpI6nj3c
VERBOSE: # AORFJYm2mkQZK37AlLTSYW3rM9nF30sEAMx9HJXDj/chsrIRt7t/8tWMcCxBYKqx
VERBOSE: # YxhElRp2Yn72gLD76GSmM9GJB+G9t+ZDpBi4pncB4Q+UDCEdslQpJYls5Q5SUUd0
VERBOSE: # viastkF13nqsX40/ybzTQRESW+UQUOsxxcpyFiIJ33xMdT9j7CFfxCBRa2+xq4aL
VERBOSE: # T8LWRV+dIPyhHsXAj6KxfgommfXkaS+YHS312amyHeUbAgMBAAGjQjBAMA8GA1Ud
VERBOSE: # EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTs1+OC0nFdZEzf
VERBOSE: # Lmc/57qYrhwPTzANBgkqhkiG9w0BAQwFAAOCAgEAu2HZfalsvhfEkRvDoaIAjeNk
VERBOSE: # aA9Wz3eucPn9mkqZucl4XAwMX+TmFClWCzZJXURj4K2clhhmGyMNPXnpbWvWVPjS
VERBOSE: # PMFDQK4dUPVS/JA7u5iZaWvHwaeoaKQn3J35J64whbn2Z006Po9ZOSJTROvIXQPK
VERBOSE: # 7VB6fWIhCoDIc2bRoAVgX+iltKevqPdtNZx8WorWojiZ83iL9E3SIAveBO6Mm0eB
VERBOSE: # cg3AFDLvMFkuruBx8lbkapdvklBtlo1oepqyNhR6BvIkuQkRUNcIsbiJeoQjYUIp
VERBOSE: # 5aPNoiBB19GcZNnqJqGLFNdMGbJQQXE9P01wI4YMStyB0swylIQNCAmXHE/A7msg
VERBOSE: # dDDS4Dk0EIUhFQEI6FUy3nFJ2SgXUE3mvk3RdazQyvtBuEOlqtPDBURPLDab4vri
VERBOSE: # RbgjU2wGb2dVf0a1TD9uKFp5JtKkqGKX0h7i7UqLvBv9R0oN32dmfrJbQdA75PQ7
VERBOSE: # 9ARj6e/CVABRoIoqyc54zNXqhwQYs86vSYiv85KZtrPmYQ/ShQDnUBrkG5WdGaG5
VERBOSE: # nLGbsQAe79APT0JsyQq87kP6OnGlyE0mpTX9iV28hWIdMtKgK1TtmlfB2/oQzxm3
VERBOSE: # i0objwG2J5VT6LaJbVu8aNQj6ItRolb58KaAoNYes7wPD1N1KarqE3fk3oyBIa0H
VERBOSE: # EEcRrYc9B9F1vM/zZn4wggawMIIEmKADAgECAhAIrUCyYNKcTJ9ezam9k67ZMA0G
VERBOSE: # CSqGSIb3DQEBDAUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJ
VERBOSE: # bmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0
VERBOSE: # IFRydXN0ZWQgUm9vdCBHNDAeFw0yMTA0MjkwMDAwMDBaFw0zNjA0MjgyMzU5NTla
VERBOSE: # MGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UE
VERBOSE: # AxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcgUlNBNDA5NiBTSEEz
VERBOSE: # ODQgMjAyMSBDQTEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDVtC9C
VERBOSE: # 0CiteLdd1TlZG7GIQvUzjOs9gZdwxbvEhSYwn6SOaNhc9es0JAfhS0/TeEP0F9ce
VERBOSE: # 2vnS1WcaUk8OoVf8iJnBkcyBAz5NcCRks43iCH00fUyAVxJrQ5qZ8sU7H/Lvy0da
VERBOSE: # E6ZMswEgJfMQ04uy+wjwiuCdCcBlp/qYgEk1hz1RGeiQIXhFLqGfLOEYwhrMxe6T
VERBOSE: # SXBCMo/7xuoc82VokaJNTIIRSFJo3hC9FFdd6BgTZcV/sk+FLEikVoQ11vkunKoA
VERBOSE: # FdE3/hoGlMJ8yOobMubKwvSnowMOdKWvObarYBLj6Na59zHh3K3kGKDYwSNHR7Oh
VERBOSE: # D26jq22YBoMbt2pnLdK9RBqSEIGPsDsJ18ebMlrC/2pgVItJwZPt4bRc4G/rJvmM
VERBOSE: # 1bL5OBDm6s6R9b7T+2+TYTRcvJNFKIM2KmYoX7BzzosmJQayg9Rc9hUZTO1i4F4z
VERBOSE: # 8ujo7AqnsAMrkbI2eb73rQgedaZlzLvjSFDzd5Ea/ttQokbIYViY9XwCFjyDKK05
VERBOSE: # huzUtw1T0PhH5nUwjewwk3YUpltLXXRhTT8SkXbev1jLchApQfDVxW0mdmgRQRNY
VERBOSE: # mtwmKwH0iU1Z23jPgUo+QEdfyYFQc4UQIyFZYIpkVMHMIRroOBl8ZhzNeDhFMJlP
VERBOSE: # /2NPTLuqDQhTQXxYPUez+rbsjDIJAsxsPAxWEQIDAQABo4IBWTCCAVUwEgYDVR0T
VERBOSE: # AQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUaDfg67Y7+F8Rhvv+YXsIiGX0TkIwHwYD
VERBOSE: # VR0jBBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4cD08wDgYDVR0PAQH/BAQDAgGGMBMG
VERBOSE: # A1UdJQQMMAoGCCsGAQUFBwMDMHcGCCsGAQUFBwEBBGswaTAkBggrBgEFBQcwAYYY
VERBOSE: # aHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEEGCCsGAQUFBzAChjVodHRwOi8vY2Fj
VERBOSE: # ZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNydDBDBgNV
VERBOSE: # HR8EPDA6MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRU
VERBOSE: # cnVzdGVkUm9vdEc0LmNybDAcBgNVHSAEFTATMAcGBWeBDAEDMAgGBmeBDAEEATAN
VERBOSE: # BgkqhkiG9w0BAQwFAAOCAgEAOiNEPY0Idu6PvDqZ01bgAhql+Eg08yy25nRm95Ry
VERBOSE: # sQDKr2wwJxMSnpBEn0v9nqN8JtU3vDpdSG2V1T9J9Ce7FoFFUP2cvbaF4HZ+N3HL
VERBOSE: # IvdaqpDP9ZNq4+sg0dVQeYiaiorBtr2hSBh+3NiAGhEZGM1hmYFW9snjdufE5Btf
VERBOSE: # Q/g+lP92OT2e1JnPSt0o618moZVYSNUa/tcnP/2Q0XaG3RywYFzzDaju4ImhvTnh
VERBOSE: # OE7abrs2nfvlIVNaw8rpavGiPttDuDPITzgUkpn13c5UbdldAhQfQDN8A+KVssIh
VERBOSE: # dXNSy0bYxDQcoqVLjc1vdjcshT8azibpGL6QB7BDf5WIIIJw8MzK7/0pNVwfiThV
VERBOSE: # 9zeKiwmhywvpMRr/LhlcOXHhvpynCgbWJme3kuZOX956rEnPLqR0kq3bPKSchh/j
VERBOSE: # wVYbKyP/j7XqiHtwa+aguv06P0WmxOgWkVKLQcBIhEuWTatEQOON8BUozu3xGFYH
VERBOSE: # Ki8QxAwIZDwzj64ojDzLj4gLDb879M4ee47vtevLt/B3E+bnKD+sEq6lLyJsQfmC
VERBOSE: # XBVmzGwOysWGw/YmMwwHS6DTBwJqakAwSEs0qFEgu60bhQjiWQ1tygVQK+pKHJ6l
VERBOSE: # /aCnHwZ05/LWUpD9r4VIIflXO7ScA+2GRfS0YW6/aOImYIbqyK+p/pQd52MbOoZW
VERBOSE: # eE4wggfdMIIFxaADAgECAhAKaypbp7cyIFa+lR7OVPAvMA0GCSqGSIb3DQEBCwUA
VERBOSE: # MGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UE
VERBOSE: # AxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcgUlNBNDA5NiBTSEEz
VERBOSE: # ODQgMjAyMSBDQTEwHhcNMjMwNzExMDAwMDAwWhcNMjYwNzEwMjM1OTU5WjCB5TET
VERBOSE: # MBEGCysGAQQBgjc8AgEDEwJBVDEVMBMGCysGAQQBgjc8AgECEwRXaWVuMRUwEwYL
VERBOSE: # KwYBBAGCNzwCAQETBFdpZW4xHTAbBgNVBA8MFFByaXZhdGUgT3JnYW5pemF0aW9u
VERBOSE: # MRAwDgYDVQQFEwc2MDcwMTN0MQswCQYDVQQGEwJBVDENMAsGA1UECBMEV2llbjEN
VERBOSE: # MAsGA1UEBxMEV2llbjEhMB8GA1UEChMYRXhwbGljSVQgQ29uc3VsdGluZyBHbWJI
VERBOSE: # MSEwHwYDVQQDExhFeHBsaWNJVCBDb25zdWx0aW5nIEdtYkgwggIiMA0GCSqGSIb3
VERBOSE: # DQEBAQUAA4ICDwAwggIKAoICAQDxdNfDY8ulBB2NIOYzd2mVQRhjMBAzNgvJEjXs
VERBOSE: # VACQyjesfJfvXZ3gMnUT8M5HkohWjHvhftCFkL5cCck+4XuEGiLisV3hilLL4p8z
VERBOSE: # 6L+tbvPnVSWML7VOV835/de+hM/mKdFhqRG+fYNQ1ceFlggiwqfHjIoXLweZACRD
VERBOSE: # 3bLwRLYk7w5IEDCtHa0Hit+SpqbZ4MDcEhfS8krG5ha0FqOLkVLAhPfkZ4sOB32V
VERBOSE: # dUfQPknxYnhWZVyGVH/ypTYnEY4oo3CFO0f8k4fNc8fGDwNAoxHJwGKYjxeEasgm
VERBOSE: # a2EZMHKkZyJpwJKSdZ9FPp4qldYVt/NiCoXzdrLRta0M/Vg5E+XKVtC0EOhY2w6u
VERBOSE: # lgFx0Qog/hfC3w2imATDt7Fv5R+ZQ8v3BXzn2pH2DZ1sGI7JZjH0NCxXdY8kaDuZ
VERBOSE: # fCQRcDCej/5otpuDxu7l6bBUTBe2ao+ZwCBuN0PWdbyxunii1W/Q3t1bU2Hmu/97
VERBOSE: # 4hQOWJNDBuWrPNOlr2qHVqFNCOpHtuddTHMGt9bGwr9FXXe5gTIrAk2CCX+vnDhw
VERBOSE: # zgi8UuLWJy+H1b1Y2hUt2oX2izyAjDrXdA6wgGNr3YtIgUt+4BBRz0Zhw6/KQdpN
VERBOSE: # wCTnofcgezhz0OS4WMB+ZARaMNK4DpzVwlGrg9NF/nCuQ0sJzt913ndIRl5FXJ71
VERBOSE: # GwgCKwIDAQABo4ICAjCCAf4wHwYDVR0jBBgwFoAUaDfg67Y7+F8Rhvv+YXsIiGX0
VERBOSE: # TkIwHQYDVR0OBBYEFDz+YL61H9M50y8W+urzdKxOSpf4MA4GA1UdDwEB/wQEAwIH
VERBOSE: # gDATBgNVHSUEDDAKBggrBgEFBQcDAzCBtQYDVR0fBIGtMIGqMFOgUaBPhk1odHRw
VERBOSE: # Oi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2lnbmlu
VERBOSE: # Z1JTQTQwOTZTSEEzODQyMDIxQ0ExLmNybDBToFGgT4ZNaHR0cDovL2NybDQuZGln
VERBOSE: # aWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hB
VERBOSE: # Mzg0MjAyMUNBMS5jcmwwPQYDVR0gBDYwNDAyBgVngQwBAzApMCcGCCsGAQUFBwIB
VERBOSE: # FhtodHRwOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwgZQGCCsGAQUFBwEBBIGHMIGE
VERBOSE: # MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wXAYIKwYBBQUH
VERBOSE: # MAKGUGh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRH
VERBOSE: # NENvZGVTaWduaW5nUlNBNDA5NlNIQTM4NDIwMjFDQTEuY3J0MAkGA1UdEwQCMAAw
VERBOSE: # DQYJKoZIhvcNAQELBQADggIBAISWy98G7WUbOBA3S0odwfltQ3YZmuNgNZDoIdLQ
VERBOSE: # YFnB43wgnClFuPIPaKJGYeRH90iioYKsnGDOYvUgr+b+XbIDRRqkHoYYZB+jDYUJ
VERBOSE: # f1LS6eD79GAsLEomY/VzyRY9LEbYsmDmHi/riDWDiKWL0YYQmVuxU6NSLz4JZADA
VERBOSE: # VsC7bZovRJnL9XFQo0QQxz9jymHH1UVBOAUUojrs7IznXBtQza/PYg+285kCoR/U
VERBOSE: # ToA+Bc7j/mwon0tKlNCKyPn04viwjHRSIr8VlCH+qXU+nw6eSH7PVJWargv2sX/h
VERBOSE: # t9zJ4JK843KRtd2mEXMUVcS2AUnmuwBSrxXhFQguR5nfrZBUHb4epiAMreGfidEl
VERBOSE: # bmxEpzLaBegF8A+C7mCambjhnQ1p9b6JKuV1aS9qyfRf6AYF+OKLzBBbIAKLOmSx
VERBOSE: # aHoJdn65B50/Gq5zUIxkoa8lKjEw4xtIBto4xYnFOLQJmiNeyAJeRLHbPGpHm6M+
VERBOSE: # tTorAVDdGPQbhDlQT2RHn9pJDiJxFIbPdsNoEgtzAQee5US4QCng1qySpsvhQEoX
VERBOSE: # JHh3jq62djlgx2GmVGOsysBfhcqjJROeo0+B32YQRHST/RBEaesZ6SFfXGaO3bBt
VERBOSE: # onaU0JOQ9LOioHOuhGVNPjrcKT/NE99Bs2JF1Z8XJfPcDt5R0c10eRY1fiLJLvU5
VERBOSE: # GNmrMYIbfTCCG3kCAQEwfTBpMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNl
VERBOSE: # cnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgQ29kZSBTaWdu
VERBOSE: # aW5nIFJTQTQwOTYgU0hBMzg0IDIwMjEgQ0ExAhAKaypbp7cyIFa+lR7OVPAvMA0G
VERBOSE: # CWCGSAFlAwQCAQUAoIIBjjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor
VERBOSE: # BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgCwlK5Fr3
VERBOSE: # dszWU+Ibac3Rq4VVvmf2p9vJPwrbJMfDUcUwggEgBgorBgEEAYI3AgEMMYIBEDCC
VERBOSE: # AQyggcWAgcIAUABvAHcAZQByAGUAZAAgAGIAeQAgAEUAeABwAGwAaQBjAEkAVAAg
VERBOSE: # AEMAbwBuAHMAdQBsAHQAaQBuAGcALgAgAFUAbgBsAG8AYwBrACAAYQBsAGwAIABm
VERBOSE: # AGUAYQB0AHUAcgBlAHMAIAB3AGkAdABoACAAUwBlAHQALQBPAHUAdABsAG8AbwBr
VERBOSE: # AFMAaQBnAG4AYQB0AHUAcgBlAHMAIABCAGUAbgBlAGYAYQBjAHQAbwByACAAQwBp
VERBOSE: # AHIAYwBsAGUALqFCgEBodHRwczovL2V4cGxpY2l0Y29uc3VsdGluZy5hdC9vcGVu
VERBOSE: # LXNvdXJjZS9zZXQtb3V0bG9va3NpZ25hdHVyZXMgMA0GCSqGSIb3DQEBAQUABIIC
VERBOSE: # AK1edy8bwNEo61jGvmCaDrUdu99CSQKF+5xph+ME4h3Pz/XFUTTKYPHfxar5fVY0
VERBOSE: # aREuHay6sJPSkvo5CihFN+4dPKfAWEwwDRZ+Gb3cUGpp/6XrZlbCS15DamdYVDdC
VERBOSE: # 1/oZsVuFXgZd7xNSxm9lYti0Bk0jXlSOcLxabPrRJKa9rfZq0J+Ts/JSdDI+jF5w
VERBOSE: # ynNSiQ187yDrw6aJTfMECg0eZBcrd5HN37XXgTFVrhu1VI/ZFKKmY0U9iwCSPDzO
VERBOSE: # lt7VptOaqn9Kx5Kva1He+NgM1p6ADhfvXJFfW1ZDAwk2qxO7T5vWW6axA9iL1J18
VERBOSE: # LvEkIZ1aUbIwGiA+DSZT01GqVTBR58ISksvw8FEQNRv0VeRT1outoxOzUDv97XZG
VERBOSE: # ZwPyOYAhf7ud2eQ4pSAnW4Yvzo8DYqHcwpWVhCnsyTBgdK1YoOsVgasJavqVVYCe
VERBOSE: # wR2814/UpPWHSnw4o8PAZbOlzRqi4OGF1IzyaeegFyrCncxnv1Kk2iUgRZrCUaVM
VERBOSE: # 2WY3kZqSVb8/eujmpqiqneU5jIBJYmnDh8fKbBqasVutVKY0kvGVQAv4aKRNJkOJ
VERBOSE: # RVtDuf1wT6QGH44KfRfoSbPlp0gPZiS4XaBaJPfMsZtnGfd2gI5cUnZchFqb/KFj
VERBOSE: # 9BO3O2H9mTnEmjVSy9N7lJ5QdpDSRnImFnRM31+6dK20oYIXPzCCFzsGCisGAQQB
VERBOSE: # gjcDAwExghcrMIIXJwYJKoZIhvcNAQcCoIIXGDCCFxQCAQMxDzANBglghkgBZQME
VERBOSE: # AgEFADB3BgsqhkiG9w0BCRABBKBoBGYwZAIBAQYJYIZIAYb9bAcBMDEwDQYJYIZI
VERBOSE: # AWUDBAIBBQAEIMgpBTQeCOEkrk9WPW5ril7ggEwNqRIEb70ld6hCDcd2AhBrrCmw
VERBOSE: # 8wrRhP4wmCC3DcakGA8yMDI0MDUyNzE2MDQzN1qgghMJMIIGwjCCBKqgAwIBAgIQ
VERBOSE: # BUSv85SdCDmmv9s/X+VhFjANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJVUzEX
VERBOSE: # MBUGA1UEChMORGlnaUNlcnQsIEluYy4xOzA5BgNVBAMTMkRpZ2lDZXJ0IFRydXN0
VERBOSE: # ZWQgRzQgUlNBNDA5NiBTSEEyNTYgVGltZVN0YW1waW5nIENBMB4XDTIzMDcxNDAw
VERBOSE: # MDAwMFoXDTM0MTAxMzIzNTk1OVowSDELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRp
VERBOSE: # Z2lDZXJ0LCBJbmMuMSAwHgYDVQQDExdEaWdpQ2VydCBUaW1lc3RhbXAgMjAyMzCC
VERBOSE: # AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKNTRYcdg45brD5UsyPgz5/X
VERBOSE: # 5dLnXaEOCdwvSKOXejsqnGfcYhVYwamTEafNqrJq3RApih5iY2nTWJw1cb86l+uU
VERBOSE: # UI8cIOrHmjsvlmbjaedp/lvD1isgHMGXlLSlUIHyz8sHpjBoyoNC2vx/CSSUpIIa
VERBOSE: # 2mq62DvKXd4ZGIX7ReoNYWyd/nFexAaaPPDFLnkPG2ZS48jWPl/aQ9OE9dDH9kgt
VERBOSE: # XkV1lnX+3RChG4PBuOZSlbVH13gpOWvgeFmX40QrStWVzu8IF+qCZE3/I+PKhu60
VERBOSE: # pCFkcOvV5aDaY7Mu6QXuqvYk9R28mxyyt1/f8O52fTGZZUdVnUokL6wrl76f5P17
VERBOSE: # cz4y7lI0+9S769SgLDSb495uZBkHNwGRDxy1Uc2qTGaDiGhiu7xBG3gZbeTZD+BY
VERBOSE: # QfvYsSzhUa+0rRUGFOpiCBPTaR58ZE2dD9/O0V6MqqtQFcmzyrzXxDtoRKOlO0L9
VERBOSE: # c33u3Qr/eTQQfqZcClhMAD6FaXXHg2TWdc2PEnZWpST618RrIbroHzSYLzrqawGw
VERBOSE: # 9/sqhux7UjipmAmhcbJsca8+uG+W1eEQE/5hRwqM/vC2x9XH3mwk8L9CgsqgcT2c
VERBOSE: # kpMEtGlwJw1Pt7U20clfCKRwo+wK8REuZODLIivK8SgTIUlRfgZm0zu++uuRONhR
VERBOSE: # B8qUt+JQofM604qDy0B7AgMBAAGjggGLMIIBhzAOBgNVHQ8BAf8EBAMCB4AwDAYD
VERBOSE: # VR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAgBgNVHSAEGTAXMAgG
VERBOSE: # BmeBDAEEAjALBglghkgBhv1sBwEwHwYDVR0jBBgwFoAUuhbZbU2FL3MpdpovdYxq
VERBOSE: # II+eyG8wHQYDVR0OBBYEFKW27xPn783QZKHVVqllMaPe1eNJMFoGA1UdHwRTMFEw
VERBOSE: # T6BNoEuGSWh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRH
VERBOSE: # NFJTQTQwOTZTSEEyNTZUaW1lU3RhbXBpbmdDQS5jcmwwgZAGCCsGAQUFBwEBBIGD
VERBOSE: # MIGAMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wWAYIKwYB
VERBOSE: # BQUHMAKGTGh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0
VERBOSE: # ZWRHNFJTQTQwOTZTSEEyNTZUaW1lU3RhbXBpbmdDQS5jcnQwDQYJKoZIhvcNAQEL
VERBOSE: # BQADggIBAIEa1t6gqbWYF7xwjU+KPGic2CX/yyzkzepdIpLsjCICqbjPgKjZ5+PF
VERBOSE: # 7SaCinEvGN1Ott5s1+FgnCvt7T1IjrhrunxdvcJhN2hJd6PrkKoS1yeF844ektrC
VERBOSE: # QDifXcigLiV4JZ0qBXqEKZi2V3mP2yZWK7Dzp703DNiYdk9WuVLCtp04qYHnbUFc
VERBOSE: # jGnRuSvExnvPnPp44pMadqJpddNQ5EQSviANnqlE0PjlSXcIWiHFtM+YlRpUurm8
VERBOSE: # wWkZus8W8oM3NG6wQSbd3lqXTzON1I13fXVFoaVYJmoDRd7ZULVQjK9WvUzF4UbF
VERBOSE: # KNOt50MAcN7MmJ4ZiQPq1JE3701S88lgIcRWR+3aEUuMMsOI5ljitts++V+wQtaP
VERBOSE: # 4xeR0arAVeOGv6wnLEHQmjNKqDbUuXKWfpd5OEhfysLcPTLfddY2Z1qJ+Panx+VP
VERBOSE: # NTwAvb6cKmx5AdzaROY63jg7B145WPR8czFVoIARyxQMfq68/qTreWWqaNYiyjvr
VERBOSE: # moI1VygWy2nyMpqy0tg6uLFGhmu6F/3Ed2wVbK6rr3M66ElGt9V/zLY4wNjsHPW2
VERBOSE: # obhDLN9OTH0eaHDAdwrUAuBcYLso/zjlUlrWrBciI0707NMX+1Br/wd3H3GXREHJ
VERBOSE: # uEbTbDJ8WC9nR2XlG3O2mflrLAZG70Ee8PBf4NvZrZCARK+AEEGKMIIGrjCCBJag
VERBOSE: # AwIBAgIQBzY3tyRUfNhHrP0oZipeWzANBgkqhkiG9w0BAQsFADBiMQswCQYDVQQG
VERBOSE: # EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
VERBOSE: # cnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMjIw
VERBOSE: # MzIzMDAwMDAwWhcNMzcwMzIyMjM1OTU5WjBjMQswCQYDVQQGEwJVUzEXMBUGA1UE
VERBOSE: # ChMORGlnaUNlcnQsIEluYy4xOzA5BgNVBAMTMkRpZ2lDZXJ0IFRydXN0ZWQgRzQg
VERBOSE: # UlNBNDA5NiBTSEEyNTYgVGltZVN0YW1waW5nIENBMIICIjANBgkqhkiG9w0BAQEF
VERBOSE: # AAOCAg8AMIICCgKCAgEAxoY1BkmzwT1ySVFVxyUDxPKRN6mXUaHW0oPRnkyibaCw
VERBOSE: # zIP5WvYRoUQVQl+kiPNo+n3znIkLf50fng8zH1ATCyZzlm34V6gCff1DtITaEfFz
VERBOSE: # sbPuK4CEiiIY3+vaPcQXf6sZKz5C3GeO6lE98NZW1OcoLevTsbV15x8GZY2UKdPZ
VERBOSE: # 7Gnf2ZCHRgB720RBidx8ald68Dd5n12sy+iEZLRS8nZH92GDGd1ftFQLIWhuNyG7
VERBOSE: # QKxfst5Kfc71ORJn7w6lY2zkpsUdzTYNXNXmG6jBZHRAp8ByxbpOH7G1WE15/teP
VERBOSE: # c5OsLDnipUjW8LAxE6lXKZYnLvWHpo9OdhVVJnCYJn+gGkcgQ+NDY4B7dW4nJZCY
VERBOSE: # OjgRs/b2nuY7W+yB3iIU2YIqx5K/oN7jPqJz+ucfWmyU8lKVEStYdEAoq3NDzt9K
VERBOSE: # oRxrOMUp88qqlnNCaJ+2RrOdOqPVA+C/8KI8ykLcGEh/FDTP0kyr75s9/g64ZCr6
VERBOSE: # dSgkQe1CvwWcZklSUPRR8zZJTYsg0ixXNXkrqPNFYLwjjVj33GHek/45wPmyMKVM
VERBOSE: # 1+mYSlg+0wOI/rOP015LdhJRk8mMDDtbiiKowSYI+RQQEgN9XyO7ZONj4KbhPvbC
VERBOSE: # dLI/Hgl27KtdRnXiYKNYCQEoAA6EVO7O6V3IXjASvUaetdN2udIOa5kM0jO0zbEC
VERBOSE: # AwEAAaOCAV0wggFZMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFLoW2W1N
VERBOSE: # hS9zKXaaL3WMaiCPnshvMB8GA1UdIwQYMBaAFOzX44LScV1kTN8uZz/nupiuHA9P
VERBOSE: # MA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEFBQcDCDB3BggrBgEFBQcB
VERBOSE: # AQRrMGkwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBBBggr
VERBOSE: # BgEFBQcwAoY1aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1
VERBOSE: # c3RlZFJvb3RHNC5jcnQwQwYDVR0fBDwwOjA4oDagNIYyaHR0cDovL2NybDMuZGln
VERBOSE: # aWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5jcmwwIAYDVR0gBBkwFzAI
VERBOSE: # BgZngQwBBAIwCwYJYIZIAYb9bAcBMA0GCSqGSIb3DQEBCwUAA4ICAQB9WY7Ak7Zv
VERBOSE: # mKlEIgF+ZtbYIULhsBguEE0TzzBTzr8Y+8dQXeJLKftwig2qKWn8acHPHQfpPmDI
VERBOSE: # 2AvlXFvXbYf6hCAlNDFnzbYSlm/EUExiHQwIgqgWvalWzxVzjQEiJc6VaT9Hd/ty
VERBOSE: # dBTX/6tPiix6q4XNQ1/tYLaqT5Fmniye4Iqs5f2MvGQmh2ySvZ180HAKfO+ovHVP
VERBOSE: # ulr3qRCyXen/KFSJ8NWKcXZl2szwcqMj+sAngkSumScbqyQeJsG33irr9p6xeZmB
VERBOSE: # o1aGqwpFyd/EjaDnmPv7pp1yr8THwcFqcdnGE4AJxLafzYeHJLtPo0m5d2aR8XKc
VERBOSE: # 6UsCUqc3fpNTrDsdCEkPlM05et3/JWOZJyw9P2un8WbDQc1PtkCbISFA0LcTJM3c
VERBOSE: # HXg65J6t5TRxktcma+Q4c6umAU+9Pzt4rUyt+8SVe+0KXzM5h0F4ejjpnOHdI/0d
VERBOSE: # KNPH+ejxmF/7K9h+8kaddSweJywm228Vex4Ziza4k9Tm8heZWcpw8De/mADfIBZP
VERBOSE: # J/tgZxahZrrdVcA6KYawmKAr7ZVBtzrVFZgxtGIJDwq9gdkT/r+k0fNX2bwE+oLe
VERBOSE: # Mt8EifAAzV3C+dAjfwAL5HYCJtnwZXZCpimHCUcr5n8apIUP/JiW9lVUKx+A+sDy
VERBOSE: # Divl1vupL0QVSucTDh3bNzgaoSv27dZ8/DCCBY0wggR1oAMCAQICEA6bGI750C3n
VERBOSE: # 79tQ4ghAGFowDQYJKoZIhvcNAQEMBQAwZTELMAkGA1UEBhMCVVMxFTATBgNVBAoT
VERBOSE: # DERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEkMCIGA1UE
VERBOSE: # AxMbRGlnaUNlcnQgQXNzdXJlZCBJRCBSb290IENBMB4XDTIyMDgwMTAwMDAwMFoX
VERBOSE: # DTMxMTEwOTIzNTk1OVowYjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0
VERBOSE: # IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEhMB8GA1UEAxMYRGlnaUNl
VERBOSE: # cnQgVHJ1c3RlZCBSb290IEc0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC
VERBOSE: # AgEAv+aQc2jeu+RdSjwwIjBpM+zCpyUuySE98orYWcLhKac9WKt2ms2uexuEDcQw
VERBOSE: # H/MbpDgW61bGl20dq7J58soR0uRf1gU8Ug9SH8aeFaV+vp+pVxZZVXKvaJNwwrK6
VERBOSE: # dZlqczKU0RBEEC7fgvMHhOZ0O21x4i0MG+4g1ckgHWMpLc7sXk7Ik/ghYZs06wXG
VERBOSE: # XuxbGrzryc/NrDRAX7F6Zu53yEioZldXn1RYjgwrt0+nMNlW7sp7XeOtyU9e5TXn
VERBOSE: # Mcvak17cjo+A2raRmECQecN4x7axxLVqGDgDEI3Y1DekLgV9iPWCPhCRcKtVgkEy
VERBOSE: # 19sEcypukQF8IUzUvK4bA3VdeGbZOjFEmjNAvwjXWkmkwuapoGfdpCe8oU85tRFY
VERBOSE: # F/ckXEaPZPfBaYh2mHY9WV1CdoeJl2l6SPDgohIbZpp0yt5LHucOY67m1O+Skjqe
VERBOSE: # PdwA5EUlibaaRBkrfsCUtNJhbesz2cXfSwQAzH0clcOP9yGyshG3u3/y1YxwLEFg
VERBOSE: # qrFjGESVGnZifvaAsPvoZKYz0YkH4b235kOkGLimdwHhD5QMIR2yVCkliWzlDlJR
VERBOSE: # R3S+Jqy2QXXeeqxfjT/JvNNBERJb5RBQ6zHFynIWIgnffEx1P2PsIV/EIFFrb7Gr
VERBOSE: # hotPwtZFX50g/KEexcCPorF+CiaZ9eRpL5gdLfXZqbId5RsCAwEAAaOCATowggE2
VERBOSE: # MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFOzX44LScV1kTN8uZz/nupiuHA9P
VERBOSE: # MB8GA1UdIwQYMBaAFEXroq/0ksuCMS1Ri6enIZ3zbcgPMA4GA1UdDwEB/wQEAwIB
VERBOSE: # hjB5BggrBgEFBQcBAQRtMGswJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2lj
VERBOSE: # ZXJ0LmNvbTBDBggrBgEFBQcwAoY3aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29t
VERBOSE: # L0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENBLmNydDBFBgNVHR8EPjA8MDqgOKA2hjRo
VERBOSE: # dHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRBc3N1cmVkSURSb290Q0Eu
VERBOSE: # Y3JsMBEGA1UdIAQKMAgwBgYEVR0gADANBgkqhkiG9w0BAQwFAAOCAQEAcKC/Q1xV
VERBOSE: # 5zhfoKN0Gz22Ftf3v1cHvZqsoYcs7IVeqRq7IviHGmlUIu2kiHdtvRoU9BNKei8t
VERBOSE: # tzjv9P+Aufih9/Jy3iS8UgPITtAq3votVs/59PesMHqai7Je1M/RQ0SbQyHrlnKh
VERBOSE: # SLSZy51PpwYDE3cnRNTnf+hZqPC/Lwum6fI0POz3A8eHqNJMQBk1RmppVLC4oVaO
VERBOSE: # 7KTVPeix3P0c2PR3WlxUjG/voVA9/HYJaISfb8rbII01YBwCA8sgsKxYoA5AY8WY
VERBOSE: # IsGyWfVVa88nq2x2zm8jLfR+cWojayL/ErhULSd+2DrZ8LaHlv1b0VysGMNNn3O3
VERBOSE: # AamfV6peKOK5lDGCA3YwggNyAgEBMHcwYzELMAkGA1UEBhMCVVMxFzAVBgNVBAoT
VERBOSE: # DkRpZ2lDZXJ0LCBJbmMuMTswOQYDVQQDEzJEaWdpQ2VydCBUcnVzdGVkIEc0IFJT
VERBOSE: # QTQwOTYgU0hBMjU2IFRpbWVTdGFtcGluZyBDQQIQBUSv85SdCDmmv9s/X+VhFjAN
VERBOSE: # BglghkgBZQMEAgEFAKCB0TAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJ
VERBOSE: # KoZIhvcNAQkFMQ8XDTI0MDUyNzE2MDQzN1owKwYLKoZIhvcNAQkQAgwxHDAaMBgw
VERBOSE: # FgQUZvArMsLCyQ+CXc6qisnGTxmcz0AwLwYJKoZIhvcNAQkEMSIEIMVB21Da4GIK
VERBOSE: # 80yh5qIcJ8WkxyDIigdttkYDCcSOLKBLMDcGCyqGSIb3DQEJEAIvMSgwJjAkMCIE
VERBOSE: # INL25G3tdCLM0dRAV2hBNm+CitpVmq4zFq9NGprUDHgoMA0GCSqGSIb3DQEBAQUA
VERBOSE: # BIICABpiM4mXSrfchvAoWlbzlh0YHOVrQMbDpnfLvIxpv+Wh1uA23KJHnwApGv7x
VERBOSE: # rM4ZdCRxCVXHJhHJ/47TGlXA48+twLPq4BXjYQOruA/rp4Aft0UrLqkrsr0nMea7
VERBOSE: # yx0kF6IiwnLle27C6ziQvPqRlMvKqM23AJrWyxehLuYbI8v1IyN5vX378iYwiP49
VERBOSE: # OW0T2nqOOuwCeRCL/sqD9U01dp7cBkR7B5eYGME4GVR6mp+aiX1stCIzHsx5yo9h
VERBOSE: # Y7DE9tPEcaMBn4aomo6Riq1RO6fUOa2jIOSaN4/T+dYpWQa9ErY7FUfD0+qWEwzX
VERBOSE: # LY3G7grGZj3BjRSUcUVpVExQ7THmsM5vohUjmrZWrWv5OeaFqVxPU2Jus8+s3uCY
VERBOSE: # D8cuaexHevCl7f3xSRybCCCLp+bO/L2Z1oRUDPkYE9oH2CAMJiVWunFH5F3N2UTp
VERBOSE: # EgNUpET6aX8vEA9467yJh0zv/2L1jfMakPqxNP8qGLUumwCD7uSQtKllsLEO/qkk
VERBOSE: # JQVJq30EotbG+ppiyB0EVOoQJvoOoI+7tEUobCXcQSZ7f9buPX/JktLSYp3hcq8I
VERBOSE: # ds3IbYfJZRi3tCzwUOP6H+H0aY9TBSmxTplo07DHPx8NjzQTIzSPr9ha1JfeMq86
VERBOSE: # UX31n0IvgKb6ja+u9JaZ+mPzdzp55vZrHBSABzEAIBOZDu8G
VERBOSE: # SIG # End signature block
SignatureTemplatePath: '..\Templates\Signatures'
VERBOSE: Execute config file 'C:\HES\SOS - Copy\Set-OutlookSignatures\config\default graph config.ps1'
VERBOSE: 'C:\HES\SOS - Copy\Templates\Signatures' is accessible, nothing more to do.

SignatureIniPath: '..\Config_Signatures.ini'
VERBOSE: Execute config file 'C:\HES\SOS - Copy\Set-OutlookSignatures\config\default graph config.ps1'
VERBOSE: 'C:\HES\SOS - Copy\Config_Signatures.ini' is accessible, nothing more to do.

VERBOSE: Original ini content
VERBOSE: # This file defines which templates are to be used, which mailboxes receive a specific template, and which additional settings shall be applied
VERBOSE: # See the 'Signature and OOF file format' chapter in '.\docs\README' for more details and enhanced usage examples
VERBOSE:
VERBOSE:
VERBOSE: # Comments can start with '#' or ';'
VERBOSE: ; Whitespace(s) at the beginning and the end of a line are ignored
VERBOSE: # Empty lines are ignored
VERBOSE:
VERBOSE:
VERBOSE: # Step 1: Put file names with extensions in square brackets
VERBOSE: # Example 1: [Company external English formal.htm]
VERBOSE: # Example 2: [Company external English formal.docx]
VERBOSE: # Putting file names in single or double quotes is possible, but not necessary
VERBOSE: # File names are case insensitive
VERBOSE: # [file a.htm] is the same as ["File A.htm"] and ['fILE a.htm']
VERBOSE: # When there are two or more sections for a filename, the keys and values are not combined. Each section is considered individually (SortCulture and SortOrder still apply).
VERBOSE: # File names not mentioned in this file are not considered, even if they are available in the file system.
VERBOSE: # Only the following file extensions are supported:
VERBOSE: # When the 'UseHtmTemplates' script parameter is set to 'false' (default): .docx
VERBOSE: # When the 'UseHtmTemplates' script parameter is set to 'true': .htm
VERBOSE: #
VERBOSE: # Step 2: Add tags in the lines below the filename
VERBOSE: # Example 1 (signature):
VERBOSE: # @.***
VERBOSE: # defaultNew
VERBOSE: # defaultReplyFwd
VERBOSE: # Example 2 (OOF):
VERBOSE: # defaultInternal
VERBOSE: # defaultExternal
VERBOSE: # Only one tag per line is allowed
VERBOSE: # Adding not a single tag to file name section is valid.
VERBOSE: # The signature template is then classified as a common template.
VERBOSE: # Putting file names in single or double quotes is possible, but not necessary
VERBOSE: # Tags are case insensitive
VERBOSE: # defaultNew is the same as "DefaultNew" and 'dEFAULTnEW'
VERBOSE: # You can override the automatic Outlook signature name generation by setting OutlookSignatureName
VERBOSE: # With this option, you can have different template file names for the same Outlook signature name
VERBOSE: # This only makes sense for signatures, see the sample signature ini files for examples
VERBOSE: # Take care of signature group priorities (common, group, email address) and SortOrder parameter
VERBOSE: # Invalid characters for Outlook signature names: /:"?><,| plus the ones returned by [System.Io.Path]::GetInvalidFileNameChars()
VERBOSE: # For more possible tags, see the README file.
VERBOSE: #
VERBOSE: # Step 3: Make the software use this ini file by passing the 'SignatureIniPath' or 'OOFIniPath' parameter
VERBOSE:
VERBOSE:
VERBOSE: []
VERBOSE: # This is a special section, using an identifier that is not valid as a file name.
VERBOSE:
VERBOSE: # SortOrder
VERBOSE: # Define the application order of templates within each template group (common, group specific, mailbox specific)
VERBOSE: # The templates are applied from the first to the last entry of the sorted list
VERBOSE: #
VERBOSE: # Example:
VERBOSE: # An ini file with the following content
VERBOSE: # [a.docx]
VERBOSE: # defaultNew
VERBOSE: # writeProtect
VERBOSE: # [c.docx]
VERBOSE: # defaultNew
VERBOSE: # [b.docx]
VERBOSE: # defaultNew
VERBOSE: # results in the following final defaultNew signature:
VERBOSE: # Ascending: c.docx
VERBOSE: # Descending: a.docx
VERBOSE: # AsInThisFile: b.docx
VERBOSE: #
VERBOSE: # Default: AsInThisFile
VERBOSE: # Possible values: Ascending, asc, up, Descending, desc, down, AsInThisFile
VERBOSE: SortOrder = AsInThisFile
VERBOSE:
VERBOSE: # SortCulture
VERBOSE: # Define the culture used to sort the file list
VERBOSE: #
VERBOSE: # Sort order differences
VERBOSE: # Samples taken from https://flylib.com/books/en/3.147.1.80/1/
VERBOSE: # LCID list: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f
VERBOSE: # Strings to sort: 'a', 'z', 'ä', 'Æ', 'ch', 'h', 'i', '¥', ''
VERBOSE: # de-AT, en-US, en-GB, zh-CN, ru-RU: , ¥, a, ä, Æ, ch, h, i, z
VERBOSE: # sv-SE: , ¥, a, Æ, ch, h, i, z, ä
VERBOSE: # da-DK: , ¥, a, ch, h, i, z, Æ, ä
VERBOSE: # cs-CZ: , ¥, a, ä, Æ, h, ch, i, z
VERBOSE: # ja-JP: ¥, , a, ä, Æ, ch, h, i, z
VERBOSE: #
VERBOSE: # Default: de-AT
VERBOSE: # Possible values: Get-Culture -ListAvailable
VERBOSE: SortCulture = de-AT
VERBOSE:
VERBOSE:
VERBOSE: # Internal signatures
VERBOSE: ## Internal signature, common
VERBOSE:
VERBOSE: ; [Internal informal.docx]
VERBOSE: ; defaultNew
VERBOSE: ; DefaultReplyFwd
VERBOSE: ; OutlookSignatureName = HesMain
VERBOSE:
VERBOSE: [HES.docx]
VERBOSE: defaultNew
VERBOSE: DefaultReplyFwd
VERBOSE: OutlookSignatureName = HesMain
VERBOSE:
VERBOSE:
VERBOSE: ; ## Internal signatures, delegate mailboxes
VERBOSE: ; [Internal informal Delegate.docx]
VERBOSE: ; @.
**
VERBOSE: ; @.***
VERBOSE: ; OutlookSignatureName = Internal informal Delegate alex.alien@
VERBOSE: ; DefaultReplyFwd
VERBOSE:
VERBOSE: ; [Internal informal Delegate.docx]
VERBOSE: ; @.***
VERBOSE: ; @.***
VERBOSE: ; OutlookSignatureName = Internal informal Delegate fenix.fish@
VERBOSE: ; DefaultReplyFwd
VERBOSE:
VERBOSE: ; [Internal informal Delegate.docx]
VERBOSE: ; @.***
VERBOSE: ; @.***
VERBOSE: ; OutlookSignatureName = Internal informal Delegate nat.nuts@
VERBOSE: ; DefaultReplyFwd
VERBOSE:
VERBOSE:
VERBOSE: ; # External signatures
VERBOSE: ; ## External signature, informal, common
VERBOSE: ; [External informal.docx]
VERBOSE: ; DefaultReplyFwd
VERBOSE:
VERBOSE: ; ## External signatures, informal, shared mailboxes
VERBOSE: ; [External informal Shared.docx]
VERBOSE: ; @.***
VERBOSE: ; @.***
VERBOSE: ; OutlookSignatureName = External informal executiveboard.office@
VERBOSE: ; defaultReplyFwd
VERBOSE:
VERBOSE: ; ## External signature, formal, common
VERBOSE: ; [External formal.docx]
VERBOSE: ; defaultNew
VERBOSE: ; defaultReplyFwd
VERBOSE:
VERBOSE: ; ## External signature, formal, for HR department
VERBOSE: ; ### Default around the year
VERBOSE: ; [External formal HR.docx]
VERBOSE: ; NetBiosDomainName Name-of-HR-Group
VERBOSE: ; OutlookSignatureName = External formal
VERBOSE: ; defaultNew
VERBOSE:
VERBOSE: ; ### Christmas time
VERBOSE: ; [External formal HR Christmas.docx]
VERBOSE: ; 202412100000-202501062359
VERBOSE: ; 202512100000-202601062359
VERBOSE: ; 202612100000-202701062359
VERBOSE: ; 202712100000-202801062359
VERBOSE: ; 202812100000-202901062359
VERBOSE: ; 202912100000-203001062359
VERBOSE: ; 203012100000-203101062359
VERBOSE: ; EntraID @.***
VERBOSE: ; OutlookSignatureName = External formal
VERBOSE: ; defaultNew
VERBOSE:
VERBOSE: ; ## Exteral signatures, formal, shared mailboxes
VERBOSE: ; [External formal Shared.docx]
VERBOSE: ; @.***
VERBOSE: ; @.***
VERBOSE: ; OutlookSignatureName = External formal executiveboard.office@
VERBOSE: ; defaultNew
VERBOSE:
VERBOSE: ; ## External signatures, formal, delegate mailboxes
VERBOSE: ; [External formal Delegate.docx]
VERBOSE: ; @.***
VERBOSE: ; @.***
VERBOSE: ; OutlookSignatureName = External formal Delegate alex.alien@
VERBOSE: ; defaultNew
VERBOSE: ; defaultReplyFwd
VERBOSE:
VERBOSE: ; [External formal Delegate.docx]
VERBOSE: ; @.***
VERBOSE: ; @.***
VERBOSE: ; OutlookSignatureName = External formal Delegate fenix.fish@
VERBOSE: ; defaultNew
VERBOSE: ; defaultReplyFwd
VERBOSE:
VERBOSE: ; [External formal Delegate.docx]
VERBOSE: ; @.***
VERBOSE: ; @.***
VERBOSE: ; OutlookSignatureName = External formal Delegate nat.nuts@
VERBOSE: ; defaultNew
VERBOSE: ; defaultReplyFwd
VERBOSE:
VERBOSE:
VERBOSE: ; # Test signature showing all default replacement variables
VERBOSE: ; [Test all default replacement variables.docx]
VERBOSE: Parsed ini content
VERBOSE: Signature ini index #: '0'
VERBOSE: Tags: [ = ] [SortOrder = AsInThisFile] [SortCulture = de-AT]
VERBOSE: Signature ini index #: '1'
VERBOSE: Tags: [ = HES.docx] [defaultNew] [DefaultReplyFwd] [OutlookSignatureName = HesMain]
SetCurrentUserOutlookWebSignature: 'True'
SetCurrentUserOOFMessage: 'True'
OOFTemplatePath: '.\sample templates\Out of Office DOCX'
VERBOSE: Execute config file 'C:\HES\SOS - Copy\Set-OutlookSignatures\config\default graph config.ps1'
VERBOSE: 'C:\HES\SOS - Copy\Set-OutlookSignatures\sample templates\Out of Office DOCX' is accessible, nothing more to do.

OOFIniPath: '.\sample templates\Out of Office DOCX_OOF.ini'
VERBOSE: Execute config file 'C:\HES\SOS - Copy\Set-OutlookSignatures\config\default graph config.ps1'
VERBOSE: 'C:\HES\SOS - Copy\Set-OutlookSignatures\sample templates\Out of Office DOCX_OOF.ini' is accessible, nothing more to do.

VERBOSE: Original ini content
VERBOSE: # This file defines which templates are to be used, which mailboxes receive a specific template, and which additional settings shall be applied
VERBOSE: # See the 'Signature and OOF file format' chapter in '.\docs\README' for more details and enhanced usage examples
VERBOSE:
VERBOSE:
VERBOSE: # Comments can start with '#' or ';'
VERBOSE: ; Whitespace(s) at the beginning and the end of a line are ignored
VERBOSE: # Empty lines are ignored
VERBOSE:
VERBOSE:
VERBOSE: # Step 1: Put file names with extensions in square brackets
VERBOSE: # Example 1: [Company external English formal.htm]
VERBOSE: # Example 2: [Company external English formal.docx]
VERBOSE: # Putting file names in single or double quotes is possible, but not necessary
VERBOSE: # File names are case insensitive
VERBOSE: # [file a.htm] is the same as ["File A.htm"] and ['fILE a.htm']
VERBOSE: # When there are two or more sections for a filename, the keys and values are not combined. Each section is considered individually (SortCulture and SortOrder still apply).
VERBOSE: # File names not mentioned in this file are not considered, even if they are available in the file system.
VERBOSE: # Only the following file extensions are supported:
VERBOSE: # When the 'UseHtmTemplates' script parameter is set to 'false' (default): .docx
VERBOSE: # When the 'UseHtmTemplates' script parameter is set to 'true': .htm
VERBOSE: #
VERBOSE: # Step 2: Add tags in the lines below the filename
VERBOSE: # Example 1 (signature):
VERBOSE: # @.***
VERBOSE: # defaultNew
VERBOSE: # defaultReplyFwd
VERBOSE: # Example 2 (OOF):
VERBOSE: # defaultInternal
VERBOSE: # defaultExternal
VERBOSE: # Only one tag per line is allowed
VERBOSE: # Adding not a single tag to file name section is valid.
VERBOSE: # The signature template is then classified as a common template.
VERBOSE: # Putting file names in single or double quotes is possible, but not necessary
VERBOSE: # Tags are case insensitive
VERBOSE: # defaultNew is the same as "DefaultNew" and 'dEFAULTnEW'
VERBOSE: # You can override the automatic Outlook signature name generation by setting OutlookSignatureName
VERBOSE: # With this option, you can have different template file names for the same Outlook signature name
VERBOSE: # This only makes sense for signatures, see the sample signature ini files for examples
VERBOSE: # Take care of signature group priorities (common, group, email address) and SortOrder parameter
VERBOSE: # Invalid characters for Outlook signature names: /:"?><,| plus the ones returned by [System.Io.Path]::GetInvalidFileNameChars()
VERBOSE: # For more possible tags, see the README file.
VERBOSE: #
VERBOSE: # Step 3: Make the software use this ini file by passing the 'SignatureIniPath' or 'OOFIniPath' parameter
VERBOSE:
VERBOSE:
VERBOSE: []
VERBOSE: # This is a special section, using an identifier that is not valid as a file name.
VERBOSE:
VERBOSE: # SortOrder
VERBOSE: # Define the application order of templates within each template group (common, group specific, mailbox specific)
VERBOSE: # The templates are applied from the first to the last entry of the sorted list
VERBOSE: #
VERBOSE: # Example:
VERBOSE: # An ini file with the following content
VERBOSE: # [a.docx]
VERBOSE: # defaultNew
VERBOSE: # writeProtect
VERBOSE: # [c.docx]
VERBOSE: # defaultNew
VERBOSE: # [b.docx]
VERBOSE: # defaultNew
VERBOSE: # results in the following final defaultNew signature:
VERBOSE: # Ascending: c.docx
VERBOSE: # Descending: a.docx
VERBOSE: # AsInThisFile: b.docx
VERBOSE: #
VERBOSE: # Default: AsInThisFile
VERBOSE: # Possible values: Ascending, asc, up, Descending, desc, down, AsInThisFile
VERBOSE: SortOrder = AsInThisFile
VERBOSE:
VERBOSE: # SortCulture
VERBOSE: # Define the culture used to sort the file list
VERBOSE: #
VERBOSE: # Sort order differences
VERBOSE: # Samples taken from https://flylib.com/books/en/3.147.1.80/1/
VERBOSE: # LCID list: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f
VERBOSE: # Strings to sort: 'a', 'z', 'ä', 'Æ', 'ch', 'h', 'i', '¥', ''
VERBOSE: # de-AT, en-US, en-GB, zh-CN, ru-RU: , ¥, a, ä, Æ, ch, h, i, z
VERBOSE: # sv-SE: , ¥, a, Æ, ch, h, i, z, ä
VERBOSE: # da-DK: , ¥, a, ch, h, i, z, Æ, ä
VERBOSE: # cs-CZ: , ¥, a, ä, Æ, h, ch, i, z
VERBOSE: # ja-JP: ¥, , a, ä, Æ, ch, h, i, z
VERBOSE: #
VERBOSE: # Default: de-AT
VERBOSE: # Possible values: Get-Culture -ListAvailable
VERBOSE: SortCulture = de-AT
VERBOSE:
VERBOSE:
VERBOSE: # Internal Out-of-Office replies
VERBOSE: ## Internal OOF, common
VERBOSE: [Internal.docx]
VERBOSE: Internal
VERBOSE:
VERBOSE: ## Internal OOF, for users without manager
VERBOSE: [Internal no manager.docx]
VERBOSE: -:$CurrentUserManagerMail$
VERBOSE: Internal
VERBOSE:
VERBOSE: ## Internal OOF, for Executive Office Board department
VERBOSE: [Internal Executive Office Board members.docx]
VERBOSE: EntraID @.
**
VERBOSE: Internal
VERBOSE:
VERBOSE:
VERBOSE: # External Out-of-Office replies
VERBOSE: ## External OOF, common
VERBOSE: [External.docx]
VERBOSE: External
VERBOSE:
VERBOSE: ## External OOF, for users without manager
VERBOSE: [External no manager.docx]
VERBOSE: -:$CurrentUserManagerMail$
VERBOSE: External
VERBOSE:
VERBOSE: ## External OOF, for Executive Office Board department
VERBOSE: [External Executive Office Board members.docx]
VERBOSE: NetBiosDomainName Name-of-ExecutiveOfficeBoard-Group
VERBOSE: External
VERBOSE: Parsed ini content
VERBOSE: OOF ini index #: '0'
VERBOSE: Tags: [ = ] [SortOrder = AsInThisFile] [SortCulture = de-AT]
VERBOSE: OOF ini index #: '1'
VERBOSE: Tags: [ = Internal.docx] [Internal]
VERBOSE: OOF ini index #: '2'
VERBOSE: Tags: [ = Internal no manager.docx] [-:$CurrentUserManagerMail$] [Internal]
VERBOSE: OOF ini index #: '3'
VERBOSE: Tags: [ = Internal Executive Office Board members.docx] [EntraID @.*** [Internal]
VERBOSE: OOF ini index #: '4'
VERBOSE: Tags: [ = External.docx] [External]
VERBOSE: OOF ini index #: '5'
VERBOSE: Tags: [ = External no manager.docx] [-:$CurrentUserManagerMail$] [External]
VERBOSE: OOF ini index #: '6'
VERBOSE: Tags: [ = External Executive Office Board members.docx] [NetBiosDomainName Name-of-ExecutiveOfficeBoard-Group] [External]
UseHtmTemplates: 'False'
GraphOnly: 'true'
SimulateAndDeploy: 'False'
SimulateAndDeployGraphCredentialFile: ''

ReplacementVariableConfigFile: '..\Config\default replacement variables.ps1'
VERBOSE: Execute config file 'C:\HES\SOS - Copy\Set-OutlookSignatures\config\default graph config.ps1'
VERBOSE: 'C:\HES\SOS - Copy\Config\default replacement variables.ps1' is accessible, nothing more to do.

VERBOSE: # This file allows defining custom replacement variables for Set-OutlookSignatures
VERBOSE: #
VERBOSE: # This script is executed as a whole once for each mailbox.
VERBOSE: # It allows for complex replacement variable handling (complex string transformations, retrieving information from web services and databases, etc.).
VERBOSE: #
VERBOSE: # Attention: The configuration file is executed as part of Set-OutlookSignatures.ps1 and is not checked for any harmful content. Please only allow qualified technicians write access to this file, only use it to to define replacement variables and test it thoroughly.
VERBOSE: #
VERBOSE: # Replacement variable names are not case sensitive.
VERBOSE: #
VERBOSE: # A variable defined in this file overrides the definition of the same variable defined earlier in the software.
VERBOSE: #
VERBOSE: #
VERBOSE: # See README file for more examples, such as:
VERBOSE: # Allowed tags
VERBOSE: # How to work with ini files
VERBOSE: # Variable replacement
VERBOSE: # Photos from Active Directory
VERBOSE: # Delete images when attribute is empty, variable content based on group membership
VERBOSE: # How to avoid blank lines when replacement variables return an empty string?
VERBOSE: #
VERBOSE: #
VERBOSE: # What is the recommended approach for custom configuration files?
VERBOSE: # You should not change the default configuration file '.\config\default replacement variable.ps1', as it might be changed in a future release of Set-OutlookSignatures. In this case, you would have to sort out the changes yourself.
VERBOSE: #
VERBOSE: # The following steps are recommended:
VERBOSE: # 1. Create a new custom configuration file in a separate folder.
VERBOSE: # 2. The first step in the new custom configuration file should be to load the default configuration file:
VERBOSE: # # Loading default replacement variables shipped with Set-OutlookSignatures
VERBOSE: # . ([System.Management.Automation.ScriptBlock]::Create((Get-Content -LiteralPath $(Join-Path -Path $(Get-Location).ProviderPath -ChildPath '\config\default replacement variables.ps1') -Raw)))
VERBOSE: # 3. After importing the default configuration file, existing replacement variables can be altered with custom definitions and new replacement variables can be added.
VERBOSE: # 4. Instead of altering existing replacement variables, it is recommended to create new replacement variables with modified content.
VERBOSE: # 5. Start Set-OutlookSignatures with the parameter 'ReplacementVariableConfigFile' pointing to the new custom configuration file.
VERBOSE:
VERBOSE:
VERBOSE:
VERBOSE:
VERBOSE: # Loading default replacement variables shipped with Set-OutlookSignatures
VERBOSE: . ([System.Management.Automation.ScriptBlock]::Create((Get-Content -LiteralPath $(Join-Path -Path $(Get-Location).ProviderPath -ChildPath '\config\default replacement variables.ps1') -Raw)))
VERBOSE:
VERBOSE:
VERBOSE: # Currently logged in user
VERBOSE: $ReplaceHash['$CurrentUserGivenname$'] = [string]$ADPropsCurrentUser.givenName
VERBOSE: $ReplaceHash['$CurrentUserSurname$'] = [string]$ADPropsCurrentUser.sn
VERBOSE: $ReplaceHash['$CurrentUserDepartment$'] = [string]$ADPropsCurrentUser.department
VERBOSE:

<!-- gh-comment-id:2286795397 --> @rayakajamon commented on GitHub (Aug 13, 2024): Hi Markus, I hope I find you well. As mentioned, my priorities got shifted, so apologies for the delay in getting this to you. I was recently able to jump back on this project and ran the preview version you shared with me. I have attached the verbose transcript from my test. It may be too late but figured it couldn't hurt. Thank you for all of your help. -Ray Gonzalez ________________________________ From: Markus Gruber ***@***.***> Sent: Thursday, July 18, 2024 2:07 AM To: Set-OutlookSignatures/Set-OutlookSignatures ***@***.***> Cc: rayakajamon ***@***.***>; Mention ***@***.***> Subject: Re: [Set-OutlookSignatures/Set-OutlookSignatures] Error when attempting to reference templates/ ini files in SharePoint Online (Issue #119) @rayakajamon<https://github.com/rayakajamon>, what are your thoughts and test results about the preview version? — Reply to this email directly, view it on GitHub<https://github.com/Set-OutlookSignatures/Set-OutlookSignatures/issues/119#issuecomment-2235697414>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AFLUUXS355KIQTZ2GAZJICDZM5LTTAVCNFSM6AAAAABKXJYZA2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMZVGY4TONBRGQ>. You are receiving this because you were mentioned. ********************** Windows PowerShell transcript start Start time: 20240813133618 Username: TAMPA\rgonzalez RunAs User: TAMPA\rgonzalez Configuration Name: Machine: RGONZALEZ-L (Microsoft Windows NT 10.0.22621.0) Host Application: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -file C:\HES\SOS - Copy\start.ps1 Process ID: 19756 PSVersion: 5.1.22621.3880 PSEdition: Desktop PSCompatibleVersions: 1.0, 2.0, 3.0, 4.0, 5.0, 5.1.22621.3880 BuildVersion: 10.0.22621.3880 CLRVersion: 4.0.30319.42000 WSManStackVersion: 3.0 PSRemotingProtocolVersion: 2.3 SerializationVersion: 1.1.0.1 ********************** Transcript started, output file is C:\transcripts\transcript1.txt Start script @2024-08-13T13:36:18-04:00@ Script notes @2024-08-13T13:36:18-04:00@ Software: Set-OutlookSignatures Version : XXXVersionStringXXX VERBOSE: GET with 0-byte payload VERBOSE: received 701-byte response of content type text/plain; charset=utf-8 At least one release newer than XXXVersionStringXXX is available: v1.0.0, ..., v4.13.0 Web : https://github.com/Set-OutlookSignatures/Set-OutlookSignatures License : See '.\LICENSE.txt' for details and copyright Check parameters and script environment @2024-08-13T13:36:19-04:00@ PowerShell: '5.1.22621.3880', 'Desktop', 'Microsoft Windows NT 10.0.22621.0' PowerShell bitness: 64-bit process on a 64-bit operating system PowerShell parameters: ' .\Set-OutlookSignatures\Set-OutlookSignatures.ps1 -GraphOnly true -DeleteUserCreatedSignatures true -SignatureTemplatePath "..\Templates\Signatures" -SignatureIniPath "..\Config\_Signatures.ini" -ReplacementVariableConfigFile '..\Config\default replacement variables.ps1' -verbose ' Script path: 'C:\HES\SOS - Copy\Set-OutlookSignatures\Set-OutlookSignatures.ps1' TrustsToCheckForGroups: '*' IncludeMailboxForestDomainLocalGroups: 'False' CloudEnvironment: 'Public' GraphConfigFile: '.\config\default graph config.ps1' VERBOSE: Execute config file 'C:\HES\SOS - Copy\Set-OutlookSignatures\config\default graph config.ps1' VERBOSE: 'C:\HES\SOS - Copy\Set-OutlookSignatures\config\default graph config.ps1' is accessible, nothing more to do. VERBOSE: # This file allows defining the default configuration for connecting to Microsoft Graph for Set-OutlookSignatures VERBOSE: # VERBOSE: # This script is executed as a whole once per Set-OutlookSignatures run. VERBOSE: # VERBOSE: # Attention: The configuration file is executed as part of Set-OutlookSignatures.ps1 and is not checked for any harmful content. Please only allow qualified technicians write access to this file, only use it to to define replacement variables and test it thoroughly. VERBOSE: # VERBOSE: # A variable defined in this file overrides the definition of the same variable defined earlier in the software. VERBOSE: # VERBOSE: # VERBOSE: # What is the recommended approach for custom configuration files? VERBOSE: # You should not change the default configuration file '.\config\default graph config.ps1', as it might be changed in a future release of Set-OutlookSignatures. In this case, you would have to sort out the changes yourself. VERBOSE: # VERBOSE: # The following steps are recommended: VERBOSE: # 1. Create a new custom configuration file in a separate folder. VERBOSE: # 2. The first step in the new custom configuration file should be to load the default configuration file: VERBOSE: # # Loading default replacement variables shipped with Set-OutlookSignatures VERBOSE: # . ([System.Management.Automation.ScriptBlock]::Create((Get-Content -LiteralPath $(Join-Path -Path $(Get-Location).ProviderPath -ChildPath '\config\default graph config.ps1') -Raw))) VERBOSE: # 3. After importing the default configuration file, existing configurations and mappings can be altered with custom definitions and new ones can be added. VERBOSE: # 4. Instead of altering existing replacement variables, it is recommended to create new replacement variables with modified content. VERBOSE: # 5. Start Set-OutlookSignatures with the parameter 'GraphConfigFile' pointing to the new custom configuration file. VERBOSE: VERBOSE: VERBOSE: # Client ID VERBOSE: # The default client ID is defined in the developers Entra ID/Azure AD tenant as multi-tenant, so it can be used everywhere VERBOSE: # For security and maintenance reasons, it is recommended to create you own app in your own tenant VERBOSE: # It can be replaced with the ID of an app created in your own tenant VERBOSE: # Option A: Create the app automatically by using the script '.\sample code\Create-EntraApp.ps1' VERBOSE: # The sample code creates the app with all required settings automatically, only providing admin consent is a manual task VERBOSE: # Option B: Create the Entra app manually VERBOSE: # Create an app in Entra admin center (https://entra.microsoft.com) VERBOSE: # Sign in as at least Cloud Application Administrator VERBOSE: # Identity > Applications > App registrations > New registration VERBOSE: # Enter at least a display name for your application VERBOSE: # Set "Supported account type" to "Accounts in this organizational directory only" VERBOSE: # Set Redirect URI to "Mobile and desktop applications" and 'http://localhost' (http, not https) VERBOSE: # The "Application (client) ID" is the value you need to set for $GraphClientID in this file VERBOSE: # Client secret VERBOSE: # There is no need to define a client secret, as we only work with delegated permissions, and not with application permissions VERBOSE: # Add the following delegated permissions (not application permissions) VERBOSE: # Identity > Applications > App registrations > your application > API permissions > Add a permission VERBOSE: # Microsoft Graph VERBOSE: # email VERBOSE: # Allows the app to read your users' primary email address. VERBOSE: # Required to log on the current user. VERBOSE: # EWS.AccessAsUser.All VERBOSE: # Allows the app to have the same access to mailboxes as the signed-in user via Exchange Web Services. VERBOSE: # Required to connect to Outlook Web and to set Outlook Web signature (classic and roaming). VERBOSE: # GroupMember.Read.All VERBOSE: # Allows the app to list groups, read basic group properties and read membership of all groups the signed-in user has access to. VERBOSE: # Required to find groups by name and to get their security identifier (SID) and the number of transitive members. VERBOSE: # MailboxSettings.ReadWrite VERBOSE: # Allows the app to create, read, update, and delete user's mailbox settings. Does not include permission to send mail. VERBOSE: # Required to detect the state of the out of office assistant and to set out-of-office replies. VERBOSE: # offline_access VERBOSE: # Allows the app to see and update the data you gave it access to, even when users are not currently using the app. This does not give the app any additional permissions. VERBOSE: # Required to get a refresh token from Graph. VERBOSE: # openid VERBOSE: # Allows users to sign in to the app with their work or school accounts and allows the app to see basic user profile information. VERBOSE: # Required to log on the current user. VERBOSE: # profile VERBOSE: # Allows the app to see your users' basic profile (e.g., name, picture, user name, email address). VERBOSE: # Required to log on the current user, to access the '/me' Graph API, to get basic properties of the current user. VERBOSE: # User.Read.All VERBOSE: # Allows the app to read the full set of profile properties, reports, and managers of other users in your organization, on behalf of the signed-in user. VERBOSE: # Required for $CurrentUser[...]$ and $CurrentMailbox[...]$ replacement variables, and for simulation mode. VERBOSE: # Provide admin consent VERBOSE: # Click the "Grant admin consent for {your tenant}" button VERBOSE: # Enable 'Allow public client flows' VERBOSE: # Identity > Applications > App registrations > your application > Advanced settings VERBOSE: # Enable "Allow public client flows" VERBOSE: # This enables SSO (single sign-on) for domain-joined Windows (Integrated Windows Authentication Flow) VERBOSE: $GraphClientID = 'beea8249-8c98-4c76-92f6-ce3c468a61e6' VERBOSE: VERBOSE: VERBOSE: # Endpoint version VERBOSE: $GraphEndpointVersion = 'v1.0' VERBOSE: VERBOSE: VERBOSE: # Message box text to show when Linux keyring or macOS keychain is not yet unlocked, and the system asks the user for the password to unlock it VERBOSE: # Leave blank to not show message box at all VERBOSE: # Defining a text is recommended to inform users why they are asked by the system to unlock their keyring or keychain VERBOSE: # Set-OutlookSignatures usually runs in the background, so the system request is a negative surprise for users VERBOSE: # On Windows, the message box is shown on the very top of the active desktop and can not be sent to the background, VERBOSE: # but does not steal the focus VERBOSE: $GraphUnlockKeyringKeychainMessageboxText = "You started Set-OutlookSignatures, or an administrator configured it to run for you to update your Outlook signatures and out-of-office replies.$([System.Environment]::NewLine)$([System.Environment]::NewLine)To look up a required security token for access to Microsoft 365, $(if($IsLinux){ $($PSVersionTable.OS) } elseif ($IsMacOS) { $("$(sw_vers -productName) $(sw_vers -productVersion)") }) will ask you to unlock your personal $( if($IsLinux){ 'keyring' } else { 'keychain' }) with your password.$([System.Environment]::NewLine)$([System.Environment]::NewLine)Should you choose to not unlock you personal $( if($IsLinux){ 'keyring' } else { 'keychain' }), the security token will be saved in an unencrypted file in your user directory." VERBOSE: VERBOSE: VERBOSE: # Message box text to show before browser opens for authentication to Microsoft 365 VERBOSE: # Leave blank to not show message box at all VERBOSE: # Defining a text is recommended to inform users about the upcoming opening of a new browser tab asking for authentication VERBOSE: # Set-OutlookSignatures usually runs in the background and the M365 logon screen can not show a hint to Set-OutlookSignatures, VERBOSE: # so the new tab is a negative surprise for users VERBOSE: # On Windows, the message box is shown on the very top of the active desktop and can not be sent to the background, VERBOSE: # but does not steal the focus VERBOSE: $GraphHtmlMessageboxText = "You started Set-OutlookSignatures, or an administrator configured it to run for you to update your Outlook signatures and out-of-office replies.$([System.Environment]::NewLine)$([System.Environment]::NewLine)A required security token for access to Microsoft 365 is not yet available.$([System.Environment]::NewLine)$([System.Environment]::NewLine)The program may run for the first time on this client, a previous security token may have expired or been deleted.$([System.Environment]::NewLine)$([System.Environment]::NewLine)To create this required security token, please login to Microsoft 365 with your account$(if($script:CurrentUser){" '$($script:CurrentUser)'"}) in the new browser tab that will open after you close this message." VERBOSE: VERBOSE: VERBOSE: # HTML message to show after successful browser authentication to Microsoft Graph VERBOSE: # Try to keep the resulting HTML code small, as long code may lead to display errors ("connection reset") VERBOSE: $GraphHtmlMessageSuccess = "<html><head><title>$(if ($BenefactorCircleLicenseFile) { 'Set-OutlookSignatures Benefactor Circle' } else { 'Set-OutlookSignatures' })</title></head><body style=""font-family:sans-serif;""><h1><a href=""$(if ($BenefactorCircleLicenseFile) { 'https://explicitconsulting.at/open-source/set-outlooksignatures' } else { 'https://github.com/Set-OutlookSignatures/Set-OutlookSignatures' })"" target=""_blank"">$(if ($BenefactorCircleLicenseFile) { 'Set-OutlookSignatures Benefactor Circle' } else { 'Set-OutlookSignatures' })</a></h1><p>Graph authentication successful at $(Get-Date -Format 'yyyy-MM-ddTHH:mm:ssK').</p><p>&nbsp;</p><p><strong>Thank you for using <a href=""$(if ($BenefactorCircleLicenseFile) { 'https://explicitconsulting.at/open-source/set-outlooksignatures' } else { 'https://github.com/Set-OutlookSignatures/Set-OutlookSignatures' })"" target=""_blank"">$(if ($BenefactorCircleLicenseFile) { 'Set-OutlookSignatures Benefactor Circle' } else { 'Set-OutlookSignatures' })</a>!</strong></p><p>&nbsp;</p><p>You can close this tab at any time.</p></body></html>" VERBOSE: # Example with automatically closing tab: $GraphHtmlMessageSuccess = "<html><head><script>window.close();</script><title>$(if ($BenefactorCircleLicenseFile) { 'Set-OutlookSignatures Benefactor Circle' } else { 'Set-OutlookSignatures' })</title></head><body style=""font-family:sans-serif;""><h1><a href=""$(if ($BenefactorCircleLicenseFile) { 'https://explicitconsulting.at/open-source/set-outlooksignatures' } else { 'https://github.com/Set-OutlookSignatures/Set-OutlookSignatures' })"" target=""_blank"">$(if ($BenefactorCircleLicenseFile) { 'Set-OutlookSignatures Benefactor Circle' } else { 'Set-OutlookSignatures' })</a></h1><p>Graph authentication successful at $(Get-Date -Format 'yyyy-MM-ddTHH:mm:ssK').</p><p>&nbsp;</p><p><strong>Thank you for using <a href=""$(if ($BenefactorCircleLicenseFile) { 'https://explicitconsulting.at/open-source/set-outlooksignatures' } else { 'https://github.com/Set-OutlookSignatures/Set-OutlookSignatures' })"" target=""_blank"">$(if ($BenefactorCircleLicenseFile) { 'Set-OutlookSignatures Benefactor Circle' } else { 'Set-OutlookSignatures' })</a>!</strong></p><p>&nbsp;</p><p>You can close this tab at any time.</p></body></html>" VERBOSE: VERBOSE: VERBOSE: # When the user successfully authenticates in the browser, the browser will be redirected to to the given Uri VERBOSE: # Takes precedence over $GraphHtmlMessageSuccess VERBOSE: [uri] $GraphBrowserRedirectSuccess = '' VERBOSE: VERBOSE: VERBOSE: # HTML message to show after unsuccessful browser authentication to Microsoft Graph VERBOSE: # Try to keep the resulting HTML code small, as long code may lead to display errors ("connection reset") VERBOSE: $GraphHtmlMessageError = "<html><head><title>$(if ($BenefactorCircleLicenseFile) { 'Set-OutlookSignatures Benefactor Circle' } else { 'Set-OutlookSignatures' })</title></head><body style=""font-family:sans-serif;""><h1><a href=""$(if ($BenefactorCircleLicenseFile) { 'https://explicitconsulting.at/open-source/set-outlooksignatures' } else { 'https://github.com/Set-OutlookSignatures/Set-OutlookSignatures' })"" target=""_blank"">$(if ($BenefactorCircleLicenseFile) { 'Set-OutlookSignatures Benefactor Circle' } else { 'Set-OutlookSignatures' })</a></h1><p>Graph authentication failed at $(Get-Date -Format 'yyyy-MM-ddTHH:mm:ssK').</p><p>You may want to inform your helpdesk or administrator about this problem.</p><p>&nbsp;</p><p>Error: {0}</p><p>Details: {1}</p><p>&nbsp;</p><p><strong>Thank you for using <a href=""$(if ($BenefactorCircleLicenseFile) { 'https://explicitconsulting.at/open-source/set-outlooksignatures' } else { 'https://github.com/Set-OutlookSignatures/Set-OutlookSignatures' })"" target=""_blank"">$(if ($BenefactorCircleLicenseFile) { 'Set-OutlookSignatures Benefactor Circle' } else { 'Set-OutlookSignatures' })</a>!</strong></p></body></html>" VERBOSE: VERBOSE: VERBOSE: # When the user fails to successfully authenticate in the browser, the browser will be redirected to to the given Uri VERBOSE: # Takes precedence over $GraphHtmlMessageError VERBOSE: [uri] $GraphBrowserRedirectError = '' VERBOSE: VERBOSE: VERBOSE: # User properties to select VERBOSE: # Custom Graph attributes: 'extension_<AppID owning the extension attribute>_<attribute name>' VERBOSE: $GraphUserProperties = @( VERBOSE: 'aboutMe', VERBOSE: 'businessPhones', VERBOSE: 'city', VERBOSE: 'companyName', VERBOSE: 'country', VERBOSE: 'department', VERBOSE: 'displayName', VERBOSE: 'faxNumber', VERBOSE: 'givenName', VERBOSE: 'jobTitle', VERBOSE: 'mail', VERBOSE: 'mailNickname', VERBOSE: 'mobilePhone', VERBOSE: 'officeLocation', VERBOSE: 'onPremisesDistinguishedName', VERBOSE: 'onPremisesDomainName', VERBOSE: 'onPremisesExtensionAttributes', VERBOSE: 'onPremisesImmutableId', VERBOSE: 'onPremisesSamAccountName', VERBOSE: 'onPremisesSecurityIdentifier', VERBOSE: 'onPremisesUserPrincipalName', VERBOSE: 'postalCode', VERBOSE: 'proxyAddresses', VERBOSE: 'state', VERBOSE: 'streetAddress', VERBOSE: 'surname', VERBOSE: 'usageLocation', VERBOSE: 'userPrincipalName' VERBOSE: ) VERBOSE: VERBOSE: VERBOSE: # Mapping Graph user properties to on-prem Active Directory user properties VERBOSE: # This way, we do not need to differentiate between on-prem, hybrid and cloud in '.\config\default replacement variables.ps1' VERBOSE: # Active Directory attribute names on the left, Graph attribute names on the right VERBOSE: # Custom Graph attributes: 'extension_<AppID owning the extension attribute>_<attribute name>' VERBOSE: $GraphUserAttributeMapping = @{ VERBOSE: co = 'country' VERBOSE: company = 'companyName' VERBOSE: department = 'department' VERBOSE: displayName = 'displayName' VERBOSE: extensionAttribute1 = 'onPremisesExtensionAttributes.extensionAttribute1' VERBOSE: extensionAttribute2 = 'onPremisesExtensionAttributes.extensionAttribute2' VERBOSE: extensionAttribute3 = 'onPremisesExtensionAttributes.extensionAttribute3' VERBOSE: extensionAttribute4 = 'onPremisesExtensionAttributes.extensionAttribute4' VERBOSE: extensionAttribute5 = 'onPremisesExtensionAttributes.extensionAttribute5' VERBOSE: extensionAttribute6 = 'onPremisesExtensionAttributes.extensionAttribute6' VERBOSE: extensionAttribute7 = 'onPremisesExtensionAttributes.extensionAttribute7' VERBOSE: extensionAttribute8 = 'onPremisesExtensionAttributes.extensionAttribute8' VERBOSE: extensionAttribute9 = 'onPremisesExtensionAttributes.extensionAttribute9' VERBOSE: extensionAttribute10 = 'onPremisesExtensionAttributes.extensionAttribute10' VERBOSE: extensionAttribute11 = 'onPremisesExtensionAttributes.extensionAttribute11' VERBOSE: extensionAttribute12 = 'onPremisesExtensionAttributes.extensionAttribute12' VERBOSE: extensionAttribute13 = 'onPremisesExtensionAttributes.extensionAttribute13' VERBOSE: extensionAttribute14 = 'onPremisesExtensionAttributes.extensionAttribute14' VERBOSE: extensionAttribute15 = 'onPremisesExtensionAttributes.extensionAttribute15' VERBOSE: facsimileTelephoneNumber = 'faxNumber' VERBOSE: givenName = 'givenName' VERBOSE: l = 'city' VERBOSE: mail = 'mail' VERBOSE: mailNickname = 'mailNickname' VERBOSE: mobile = 'mobilePhone' VERBOSE: physicalDeliveryOfficeName = 'officeLocation' VERBOSE: postalCode = 'postalCode' VERBOSE: proxyAddresses = 'proxyAddresses' VERBOSE: sn = 'surname' VERBOSE: st = 'state' VERBOSE: streetAddress = 'streetAddress' VERBOSE: telephoneNumber = 'businessPhones' VERBOSE: title = 'jobTitle' VERBOSE: } VERBOSE: VERBOSE: VERBOSE: # SIG # Begin signature block VERBOSE: # MIIwUAYJKoZIhvcNAQcCoIIwQTCCMD0CAQExDzANBglghkgBZQMEAgEFADB5Bgor VERBOSE: # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG VERBOSE: # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCVU5H9i4Mv9AMj VERBOSE: # oCK037VuQIqfafHOOw09jtwU8AW3yKCCFCkwggWQMIIDeKADAgECAhAFmxtXno4h VERBOSE: # MuI5B72nd3VcMA0GCSqGSIb3DQEBDAUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQK VERBOSE: # EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNV VERBOSE: # BAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDAeFw0xMzA4MDExMjAwMDBaFw0z VERBOSE: # ODAxMTUxMjAwMDBaMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJ VERBOSE: # bmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0 VERBOSE: # IFRydXN0ZWQgUm9vdCBHNDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB VERBOSE: # AL/mkHNo3rvkXUo8MCIwaTPswqclLskhPfKK2FnC4SmnPVirdprNrnsbhA3EMB/z VERBOSE: # G6Q4FutWxpdtHauyefLKEdLkX9YFPFIPUh/GnhWlfr6fqVcWWVVyr2iTcMKyunWZ VERBOSE: # anMylNEQRBAu34LzB4TmdDttceItDBvuINXJIB1jKS3O7F5OyJP4IWGbNOsFxl7s VERBOSE: # Wxq868nPzaw0QF+xembud8hIqGZXV59UWI4MK7dPpzDZVu7Ke13jrclPXuU15zHL VERBOSE: # 2pNe3I6PgNq2kZhAkHnDeMe2scS1ahg4AxCN2NQ3pC4FfYj1gj4QkXCrVYJBMtfb VERBOSE: # BHMqbpEBfCFM1LyuGwN1XXhm2ToxRJozQL8I11pJpMLmqaBn3aQnvKFPObURWBf3 VERBOSE: # JFxGj2T3wWmIdph2PVldQnaHiZdpekjw4KISG2aadMreSx7nDmOu5tTvkpI6nj3c VERBOSE: # AORFJYm2mkQZK37AlLTSYW3rM9nF30sEAMx9HJXDj/chsrIRt7t/8tWMcCxBYKqx VERBOSE: # YxhElRp2Yn72gLD76GSmM9GJB+G9t+ZDpBi4pncB4Q+UDCEdslQpJYls5Q5SUUd0 VERBOSE: # viastkF13nqsX40/ybzTQRESW+UQUOsxxcpyFiIJ33xMdT9j7CFfxCBRa2+xq4aL VERBOSE: # T8LWRV+dIPyhHsXAj6KxfgommfXkaS+YHS312amyHeUbAgMBAAGjQjBAMA8GA1Ud VERBOSE: # EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTs1+OC0nFdZEzf VERBOSE: # Lmc/57qYrhwPTzANBgkqhkiG9w0BAQwFAAOCAgEAu2HZfalsvhfEkRvDoaIAjeNk VERBOSE: # aA9Wz3eucPn9mkqZucl4XAwMX+TmFClWCzZJXURj4K2clhhmGyMNPXnpbWvWVPjS VERBOSE: # PMFDQK4dUPVS/JA7u5iZaWvHwaeoaKQn3J35J64whbn2Z006Po9ZOSJTROvIXQPK VERBOSE: # 7VB6fWIhCoDIc2bRoAVgX+iltKevqPdtNZx8WorWojiZ83iL9E3SIAveBO6Mm0eB VERBOSE: # cg3AFDLvMFkuruBx8lbkapdvklBtlo1oepqyNhR6BvIkuQkRUNcIsbiJeoQjYUIp VERBOSE: # 5aPNoiBB19GcZNnqJqGLFNdMGbJQQXE9P01wI4YMStyB0swylIQNCAmXHE/A7msg VERBOSE: # dDDS4Dk0EIUhFQEI6FUy3nFJ2SgXUE3mvk3RdazQyvtBuEOlqtPDBURPLDab4vri VERBOSE: # RbgjU2wGb2dVf0a1TD9uKFp5JtKkqGKX0h7i7UqLvBv9R0oN32dmfrJbQdA75PQ7 VERBOSE: # 9ARj6e/CVABRoIoqyc54zNXqhwQYs86vSYiv85KZtrPmYQ/ShQDnUBrkG5WdGaG5 VERBOSE: # nLGbsQAe79APT0JsyQq87kP6OnGlyE0mpTX9iV28hWIdMtKgK1TtmlfB2/oQzxm3 VERBOSE: # i0objwG2J5VT6LaJbVu8aNQj6ItRolb58KaAoNYes7wPD1N1KarqE3fk3oyBIa0H VERBOSE: # EEcRrYc9B9F1vM/zZn4wggawMIIEmKADAgECAhAIrUCyYNKcTJ9ezam9k67ZMA0G VERBOSE: # CSqGSIb3DQEBDAUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJ VERBOSE: # bmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0 VERBOSE: # IFRydXN0ZWQgUm9vdCBHNDAeFw0yMTA0MjkwMDAwMDBaFw0zNjA0MjgyMzU5NTla VERBOSE: # MGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UE VERBOSE: # AxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcgUlNBNDA5NiBTSEEz VERBOSE: # ODQgMjAyMSBDQTEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDVtC9C VERBOSE: # 0CiteLdd1TlZG7GIQvUzjOs9gZdwxbvEhSYwn6SOaNhc9es0JAfhS0/TeEP0F9ce VERBOSE: # 2vnS1WcaUk8OoVf8iJnBkcyBAz5NcCRks43iCH00fUyAVxJrQ5qZ8sU7H/Lvy0da VERBOSE: # E6ZMswEgJfMQ04uy+wjwiuCdCcBlp/qYgEk1hz1RGeiQIXhFLqGfLOEYwhrMxe6T VERBOSE: # SXBCMo/7xuoc82VokaJNTIIRSFJo3hC9FFdd6BgTZcV/sk+FLEikVoQ11vkunKoA VERBOSE: # FdE3/hoGlMJ8yOobMubKwvSnowMOdKWvObarYBLj6Na59zHh3K3kGKDYwSNHR7Oh VERBOSE: # D26jq22YBoMbt2pnLdK9RBqSEIGPsDsJ18ebMlrC/2pgVItJwZPt4bRc4G/rJvmM VERBOSE: # 1bL5OBDm6s6R9b7T+2+TYTRcvJNFKIM2KmYoX7BzzosmJQayg9Rc9hUZTO1i4F4z VERBOSE: # 8ujo7AqnsAMrkbI2eb73rQgedaZlzLvjSFDzd5Ea/ttQokbIYViY9XwCFjyDKK05 VERBOSE: # huzUtw1T0PhH5nUwjewwk3YUpltLXXRhTT8SkXbev1jLchApQfDVxW0mdmgRQRNY VERBOSE: # mtwmKwH0iU1Z23jPgUo+QEdfyYFQc4UQIyFZYIpkVMHMIRroOBl8ZhzNeDhFMJlP VERBOSE: # /2NPTLuqDQhTQXxYPUez+rbsjDIJAsxsPAxWEQIDAQABo4IBWTCCAVUwEgYDVR0T VERBOSE: # AQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUaDfg67Y7+F8Rhvv+YXsIiGX0TkIwHwYD VERBOSE: # VR0jBBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4cD08wDgYDVR0PAQH/BAQDAgGGMBMG VERBOSE: # A1UdJQQMMAoGCCsGAQUFBwMDMHcGCCsGAQUFBwEBBGswaTAkBggrBgEFBQcwAYYY VERBOSE: # aHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEEGCCsGAQUFBzAChjVodHRwOi8vY2Fj VERBOSE: # ZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNydDBDBgNV VERBOSE: # HR8EPDA6MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRU VERBOSE: # cnVzdGVkUm9vdEc0LmNybDAcBgNVHSAEFTATMAcGBWeBDAEDMAgGBmeBDAEEATAN VERBOSE: # BgkqhkiG9w0BAQwFAAOCAgEAOiNEPY0Idu6PvDqZ01bgAhql+Eg08yy25nRm95Ry VERBOSE: # sQDKr2wwJxMSnpBEn0v9nqN8JtU3vDpdSG2V1T9J9Ce7FoFFUP2cvbaF4HZ+N3HL VERBOSE: # IvdaqpDP9ZNq4+sg0dVQeYiaiorBtr2hSBh+3NiAGhEZGM1hmYFW9snjdufE5Btf VERBOSE: # Q/g+lP92OT2e1JnPSt0o618moZVYSNUa/tcnP/2Q0XaG3RywYFzzDaju4ImhvTnh VERBOSE: # OE7abrs2nfvlIVNaw8rpavGiPttDuDPITzgUkpn13c5UbdldAhQfQDN8A+KVssIh VERBOSE: # dXNSy0bYxDQcoqVLjc1vdjcshT8azibpGL6QB7BDf5WIIIJw8MzK7/0pNVwfiThV VERBOSE: # 9zeKiwmhywvpMRr/LhlcOXHhvpynCgbWJme3kuZOX956rEnPLqR0kq3bPKSchh/j VERBOSE: # wVYbKyP/j7XqiHtwa+aguv06P0WmxOgWkVKLQcBIhEuWTatEQOON8BUozu3xGFYH VERBOSE: # Ki8QxAwIZDwzj64ojDzLj4gLDb879M4ee47vtevLt/B3E+bnKD+sEq6lLyJsQfmC VERBOSE: # XBVmzGwOysWGw/YmMwwHS6DTBwJqakAwSEs0qFEgu60bhQjiWQ1tygVQK+pKHJ6l VERBOSE: # /aCnHwZ05/LWUpD9r4VIIflXO7ScA+2GRfS0YW6/aOImYIbqyK+p/pQd52MbOoZW VERBOSE: # eE4wggfdMIIFxaADAgECAhAKaypbp7cyIFa+lR7OVPAvMA0GCSqGSIb3DQEBCwUA VERBOSE: # MGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UE VERBOSE: # AxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcgUlNBNDA5NiBTSEEz VERBOSE: # ODQgMjAyMSBDQTEwHhcNMjMwNzExMDAwMDAwWhcNMjYwNzEwMjM1OTU5WjCB5TET VERBOSE: # MBEGCysGAQQBgjc8AgEDEwJBVDEVMBMGCysGAQQBgjc8AgECEwRXaWVuMRUwEwYL VERBOSE: # KwYBBAGCNzwCAQETBFdpZW4xHTAbBgNVBA8MFFByaXZhdGUgT3JnYW5pemF0aW9u VERBOSE: # MRAwDgYDVQQFEwc2MDcwMTN0MQswCQYDVQQGEwJBVDENMAsGA1UECBMEV2llbjEN VERBOSE: # MAsGA1UEBxMEV2llbjEhMB8GA1UEChMYRXhwbGljSVQgQ29uc3VsdGluZyBHbWJI VERBOSE: # MSEwHwYDVQQDExhFeHBsaWNJVCBDb25zdWx0aW5nIEdtYkgwggIiMA0GCSqGSIb3 VERBOSE: # DQEBAQUAA4ICDwAwggIKAoICAQDxdNfDY8ulBB2NIOYzd2mVQRhjMBAzNgvJEjXs VERBOSE: # VACQyjesfJfvXZ3gMnUT8M5HkohWjHvhftCFkL5cCck+4XuEGiLisV3hilLL4p8z VERBOSE: # 6L+tbvPnVSWML7VOV835/de+hM/mKdFhqRG+fYNQ1ceFlggiwqfHjIoXLweZACRD VERBOSE: # 3bLwRLYk7w5IEDCtHa0Hit+SpqbZ4MDcEhfS8krG5ha0FqOLkVLAhPfkZ4sOB32V VERBOSE: # dUfQPknxYnhWZVyGVH/ypTYnEY4oo3CFO0f8k4fNc8fGDwNAoxHJwGKYjxeEasgm VERBOSE: # a2EZMHKkZyJpwJKSdZ9FPp4qldYVt/NiCoXzdrLRta0M/Vg5E+XKVtC0EOhY2w6u VERBOSE: # lgFx0Qog/hfC3w2imATDt7Fv5R+ZQ8v3BXzn2pH2DZ1sGI7JZjH0NCxXdY8kaDuZ VERBOSE: # fCQRcDCej/5otpuDxu7l6bBUTBe2ao+ZwCBuN0PWdbyxunii1W/Q3t1bU2Hmu/97 VERBOSE: # 4hQOWJNDBuWrPNOlr2qHVqFNCOpHtuddTHMGt9bGwr9FXXe5gTIrAk2CCX+vnDhw VERBOSE: # zgi8UuLWJy+H1b1Y2hUt2oX2izyAjDrXdA6wgGNr3YtIgUt+4BBRz0Zhw6/KQdpN VERBOSE: # wCTnofcgezhz0OS4WMB+ZARaMNK4DpzVwlGrg9NF/nCuQ0sJzt913ndIRl5FXJ71 VERBOSE: # GwgCKwIDAQABo4ICAjCCAf4wHwYDVR0jBBgwFoAUaDfg67Y7+F8Rhvv+YXsIiGX0 VERBOSE: # TkIwHQYDVR0OBBYEFDz+YL61H9M50y8W+urzdKxOSpf4MA4GA1UdDwEB/wQEAwIH VERBOSE: # gDATBgNVHSUEDDAKBggrBgEFBQcDAzCBtQYDVR0fBIGtMIGqMFOgUaBPhk1odHRw VERBOSE: # Oi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2lnbmlu VERBOSE: # Z1JTQTQwOTZTSEEzODQyMDIxQ0ExLmNybDBToFGgT4ZNaHR0cDovL2NybDQuZGln VERBOSE: # aWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hB VERBOSE: # Mzg0MjAyMUNBMS5jcmwwPQYDVR0gBDYwNDAyBgVngQwBAzApMCcGCCsGAQUFBwIB VERBOSE: # FhtodHRwOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwgZQGCCsGAQUFBwEBBIGHMIGE VERBOSE: # MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wXAYIKwYBBQUH VERBOSE: # MAKGUGh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRH VERBOSE: # NENvZGVTaWduaW5nUlNBNDA5NlNIQTM4NDIwMjFDQTEuY3J0MAkGA1UdEwQCMAAw VERBOSE: # DQYJKoZIhvcNAQELBQADggIBAISWy98G7WUbOBA3S0odwfltQ3YZmuNgNZDoIdLQ VERBOSE: # YFnB43wgnClFuPIPaKJGYeRH90iioYKsnGDOYvUgr+b+XbIDRRqkHoYYZB+jDYUJ VERBOSE: # f1LS6eD79GAsLEomY/VzyRY9LEbYsmDmHi/riDWDiKWL0YYQmVuxU6NSLz4JZADA VERBOSE: # VsC7bZovRJnL9XFQo0QQxz9jymHH1UVBOAUUojrs7IznXBtQza/PYg+285kCoR/U VERBOSE: # ToA+Bc7j/mwon0tKlNCKyPn04viwjHRSIr8VlCH+qXU+nw6eSH7PVJWargv2sX/h VERBOSE: # t9zJ4JK843KRtd2mEXMUVcS2AUnmuwBSrxXhFQguR5nfrZBUHb4epiAMreGfidEl VERBOSE: # bmxEpzLaBegF8A+C7mCambjhnQ1p9b6JKuV1aS9qyfRf6AYF+OKLzBBbIAKLOmSx VERBOSE: # aHoJdn65B50/Gq5zUIxkoa8lKjEw4xtIBto4xYnFOLQJmiNeyAJeRLHbPGpHm6M+ VERBOSE: # tTorAVDdGPQbhDlQT2RHn9pJDiJxFIbPdsNoEgtzAQee5US4QCng1qySpsvhQEoX VERBOSE: # JHh3jq62djlgx2GmVGOsysBfhcqjJROeo0+B32YQRHST/RBEaesZ6SFfXGaO3bBt VERBOSE: # onaU0JOQ9LOioHOuhGVNPjrcKT/NE99Bs2JF1Z8XJfPcDt5R0c10eRY1fiLJLvU5 VERBOSE: # GNmrMYIbfTCCG3kCAQEwfTBpMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNl VERBOSE: # cnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgQ29kZSBTaWdu VERBOSE: # aW5nIFJTQTQwOTYgU0hBMzg0IDIwMjEgQ0ExAhAKaypbp7cyIFa+lR7OVPAvMA0G VERBOSE: # CWCGSAFlAwQCAQUAoIIBjjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor VERBOSE: # BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgCwlK5Fr3 VERBOSE: # dszWU+Ibac3Rq4VVvmf2p9vJPwrbJMfDUcUwggEgBgorBgEEAYI3AgEMMYIBEDCC VERBOSE: # AQyggcWAgcIAUABvAHcAZQByAGUAZAAgAGIAeQAgAEUAeABwAGwAaQBjAEkAVAAg VERBOSE: # AEMAbwBuAHMAdQBsAHQAaQBuAGcALgAgAFUAbgBsAG8AYwBrACAAYQBsAGwAIABm VERBOSE: # AGUAYQB0AHUAcgBlAHMAIAB3AGkAdABoACAAUwBlAHQALQBPAHUAdABsAG8AbwBr VERBOSE: # AFMAaQBnAG4AYQB0AHUAcgBlAHMAIABCAGUAbgBlAGYAYQBjAHQAbwByACAAQwBp VERBOSE: # AHIAYwBsAGUALqFCgEBodHRwczovL2V4cGxpY2l0Y29uc3VsdGluZy5hdC9vcGVu VERBOSE: # LXNvdXJjZS9zZXQtb3V0bG9va3NpZ25hdHVyZXMgMA0GCSqGSIb3DQEBAQUABIIC VERBOSE: # AK1edy8bwNEo61jGvmCaDrUdu99CSQKF+5xph+ME4h3Pz/XFUTTKYPHfxar5fVY0 VERBOSE: # aREuHay6sJPSkvo5CihFN+4dPKfAWEwwDRZ+Gb3cUGpp/6XrZlbCS15DamdYVDdC VERBOSE: # 1/oZsVuFXgZd7xNSxm9lYti0Bk0jXlSOcLxabPrRJKa9rfZq0J+Ts/JSdDI+jF5w VERBOSE: # ynNSiQ187yDrw6aJTfMECg0eZBcrd5HN37XXgTFVrhu1VI/ZFKKmY0U9iwCSPDzO VERBOSE: # lt7VptOaqn9Kx5Kva1He+NgM1p6ADhfvXJFfW1ZDAwk2qxO7T5vWW6axA9iL1J18 VERBOSE: # LvEkIZ1aUbIwGiA+DSZT01GqVTBR58ISksvw8FEQNRv0VeRT1outoxOzUDv97XZG VERBOSE: # ZwPyOYAhf7ud2eQ4pSAnW4Yvzo8DYqHcwpWVhCnsyTBgdK1YoOsVgasJavqVVYCe VERBOSE: # wR2814/UpPWHSnw4o8PAZbOlzRqi4OGF1IzyaeegFyrCncxnv1Kk2iUgRZrCUaVM VERBOSE: # 2WY3kZqSVb8/eujmpqiqneU5jIBJYmnDh8fKbBqasVutVKY0kvGVQAv4aKRNJkOJ VERBOSE: # RVtDuf1wT6QGH44KfRfoSbPlp0gPZiS4XaBaJPfMsZtnGfd2gI5cUnZchFqb/KFj VERBOSE: # 9BO3O2H9mTnEmjVSy9N7lJ5QdpDSRnImFnRM31+6dK20oYIXPzCCFzsGCisGAQQB VERBOSE: # gjcDAwExghcrMIIXJwYJKoZIhvcNAQcCoIIXGDCCFxQCAQMxDzANBglghkgBZQME VERBOSE: # AgEFADB3BgsqhkiG9w0BCRABBKBoBGYwZAIBAQYJYIZIAYb9bAcBMDEwDQYJYIZI VERBOSE: # AWUDBAIBBQAEIMgpBTQeCOEkrk9WPW5ril7ggEwNqRIEb70ld6hCDcd2AhBrrCmw VERBOSE: # 8wrRhP4wmCC3DcakGA8yMDI0MDUyNzE2MDQzN1qgghMJMIIGwjCCBKqgAwIBAgIQ VERBOSE: # BUSv85SdCDmmv9s/X+VhFjANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJVUzEX VERBOSE: # MBUGA1UEChMORGlnaUNlcnQsIEluYy4xOzA5BgNVBAMTMkRpZ2lDZXJ0IFRydXN0 VERBOSE: # ZWQgRzQgUlNBNDA5NiBTSEEyNTYgVGltZVN0YW1waW5nIENBMB4XDTIzMDcxNDAw VERBOSE: # MDAwMFoXDTM0MTAxMzIzNTk1OVowSDELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRp VERBOSE: # Z2lDZXJ0LCBJbmMuMSAwHgYDVQQDExdEaWdpQ2VydCBUaW1lc3RhbXAgMjAyMzCC VERBOSE: # AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKNTRYcdg45brD5UsyPgz5/X VERBOSE: # 5dLnXaEOCdwvSKOXejsqnGfcYhVYwamTEafNqrJq3RApih5iY2nTWJw1cb86l+uU VERBOSE: # UI8cIOrHmjsvlmbjaedp/lvD1isgHMGXlLSlUIHyz8sHpjBoyoNC2vx/CSSUpIIa VERBOSE: # 2mq62DvKXd4ZGIX7ReoNYWyd/nFexAaaPPDFLnkPG2ZS48jWPl/aQ9OE9dDH9kgt VERBOSE: # XkV1lnX+3RChG4PBuOZSlbVH13gpOWvgeFmX40QrStWVzu8IF+qCZE3/I+PKhu60 VERBOSE: # pCFkcOvV5aDaY7Mu6QXuqvYk9R28mxyyt1/f8O52fTGZZUdVnUokL6wrl76f5P17 VERBOSE: # cz4y7lI0+9S769SgLDSb495uZBkHNwGRDxy1Uc2qTGaDiGhiu7xBG3gZbeTZD+BY VERBOSE: # QfvYsSzhUa+0rRUGFOpiCBPTaR58ZE2dD9/O0V6MqqtQFcmzyrzXxDtoRKOlO0L9 VERBOSE: # c33u3Qr/eTQQfqZcClhMAD6FaXXHg2TWdc2PEnZWpST618RrIbroHzSYLzrqawGw VERBOSE: # 9/sqhux7UjipmAmhcbJsca8+uG+W1eEQE/5hRwqM/vC2x9XH3mwk8L9CgsqgcT2c VERBOSE: # kpMEtGlwJw1Pt7U20clfCKRwo+wK8REuZODLIivK8SgTIUlRfgZm0zu++uuRONhR VERBOSE: # B8qUt+JQofM604qDy0B7AgMBAAGjggGLMIIBhzAOBgNVHQ8BAf8EBAMCB4AwDAYD VERBOSE: # VR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAgBgNVHSAEGTAXMAgG VERBOSE: # BmeBDAEEAjALBglghkgBhv1sBwEwHwYDVR0jBBgwFoAUuhbZbU2FL3MpdpovdYxq VERBOSE: # II+eyG8wHQYDVR0OBBYEFKW27xPn783QZKHVVqllMaPe1eNJMFoGA1UdHwRTMFEw VERBOSE: # T6BNoEuGSWh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRH VERBOSE: # NFJTQTQwOTZTSEEyNTZUaW1lU3RhbXBpbmdDQS5jcmwwgZAGCCsGAQUFBwEBBIGD VERBOSE: # MIGAMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wWAYIKwYB VERBOSE: # BQUHMAKGTGh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0 VERBOSE: # ZWRHNFJTQTQwOTZTSEEyNTZUaW1lU3RhbXBpbmdDQS5jcnQwDQYJKoZIhvcNAQEL VERBOSE: # BQADggIBAIEa1t6gqbWYF7xwjU+KPGic2CX/yyzkzepdIpLsjCICqbjPgKjZ5+PF VERBOSE: # 7SaCinEvGN1Ott5s1+FgnCvt7T1IjrhrunxdvcJhN2hJd6PrkKoS1yeF844ektrC VERBOSE: # QDifXcigLiV4JZ0qBXqEKZi2V3mP2yZWK7Dzp703DNiYdk9WuVLCtp04qYHnbUFc VERBOSE: # jGnRuSvExnvPnPp44pMadqJpddNQ5EQSviANnqlE0PjlSXcIWiHFtM+YlRpUurm8 VERBOSE: # wWkZus8W8oM3NG6wQSbd3lqXTzON1I13fXVFoaVYJmoDRd7ZULVQjK9WvUzF4UbF VERBOSE: # KNOt50MAcN7MmJ4ZiQPq1JE3701S88lgIcRWR+3aEUuMMsOI5ljitts++V+wQtaP VERBOSE: # 4xeR0arAVeOGv6wnLEHQmjNKqDbUuXKWfpd5OEhfysLcPTLfddY2Z1qJ+Panx+VP VERBOSE: # NTwAvb6cKmx5AdzaROY63jg7B145WPR8czFVoIARyxQMfq68/qTreWWqaNYiyjvr VERBOSE: # moI1VygWy2nyMpqy0tg6uLFGhmu6F/3Ed2wVbK6rr3M66ElGt9V/zLY4wNjsHPW2 VERBOSE: # obhDLN9OTH0eaHDAdwrUAuBcYLso/zjlUlrWrBciI0707NMX+1Br/wd3H3GXREHJ VERBOSE: # uEbTbDJ8WC9nR2XlG3O2mflrLAZG70Ee8PBf4NvZrZCARK+AEEGKMIIGrjCCBJag VERBOSE: # AwIBAgIQBzY3tyRUfNhHrP0oZipeWzANBgkqhkiG9w0BAQsFADBiMQswCQYDVQQG VERBOSE: # EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl VERBOSE: # cnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMjIw VERBOSE: # MzIzMDAwMDAwWhcNMzcwMzIyMjM1OTU5WjBjMQswCQYDVQQGEwJVUzEXMBUGA1UE VERBOSE: # ChMORGlnaUNlcnQsIEluYy4xOzA5BgNVBAMTMkRpZ2lDZXJ0IFRydXN0ZWQgRzQg VERBOSE: # UlNBNDA5NiBTSEEyNTYgVGltZVN0YW1waW5nIENBMIICIjANBgkqhkiG9w0BAQEF VERBOSE: # AAOCAg8AMIICCgKCAgEAxoY1BkmzwT1ySVFVxyUDxPKRN6mXUaHW0oPRnkyibaCw VERBOSE: # zIP5WvYRoUQVQl+kiPNo+n3znIkLf50fng8zH1ATCyZzlm34V6gCff1DtITaEfFz VERBOSE: # sbPuK4CEiiIY3+vaPcQXf6sZKz5C3GeO6lE98NZW1OcoLevTsbV15x8GZY2UKdPZ VERBOSE: # 7Gnf2ZCHRgB720RBidx8ald68Dd5n12sy+iEZLRS8nZH92GDGd1ftFQLIWhuNyG7 VERBOSE: # QKxfst5Kfc71ORJn7w6lY2zkpsUdzTYNXNXmG6jBZHRAp8ByxbpOH7G1WE15/teP VERBOSE: # c5OsLDnipUjW8LAxE6lXKZYnLvWHpo9OdhVVJnCYJn+gGkcgQ+NDY4B7dW4nJZCY VERBOSE: # OjgRs/b2nuY7W+yB3iIU2YIqx5K/oN7jPqJz+ucfWmyU8lKVEStYdEAoq3NDzt9K VERBOSE: # oRxrOMUp88qqlnNCaJ+2RrOdOqPVA+C/8KI8ykLcGEh/FDTP0kyr75s9/g64ZCr6 VERBOSE: # dSgkQe1CvwWcZklSUPRR8zZJTYsg0ixXNXkrqPNFYLwjjVj33GHek/45wPmyMKVM VERBOSE: # 1+mYSlg+0wOI/rOP015LdhJRk8mMDDtbiiKowSYI+RQQEgN9XyO7ZONj4KbhPvbC VERBOSE: # dLI/Hgl27KtdRnXiYKNYCQEoAA6EVO7O6V3IXjASvUaetdN2udIOa5kM0jO0zbEC VERBOSE: # AwEAAaOCAV0wggFZMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFLoW2W1N VERBOSE: # hS9zKXaaL3WMaiCPnshvMB8GA1UdIwQYMBaAFOzX44LScV1kTN8uZz/nupiuHA9P VERBOSE: # MA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEFBQcDCDB3BggrBgEFBQcB VERBOSE: # AQRrMGkwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBBBggr VERBOSE: # BgEFBQcwAoY1aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1 VERBOSE: # c3RlZFJvb3RHNC5jcnQwQwYDVR0fBDwwOjA4oDagNIYyaHR0cDovL2NybDMuZGln VERBOSE: # aWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5jcmwwIAYDVR0gBBkwFzAI VERBOSE: # BgZngQwBBAIwCwYJYIZIAYb9bAcBMA0GCSqGSIb3DQEBCwUAA4ICAQB9WY7Ak7Zv VERBOSE: # mKlEIgF+ZtbYIULhsBguEE0TzzBTzr8Y+8dQXeJLKftwig2qKWn8acHPHQfpPmDI VERBOSE: # 2AvlXFvXbYf6hCAlNDFnzbYSlm/EUExiHQwIgqgWvalWzxVzjQEiJc6VaT9Hd/ty VERBOSE: # dBTX/6tPiix6q4XNQ1/tYLaqT5Fmniye4Iqs5f2MvGQmh2ySvZ180HAKfO+ovHVP VERBOSE: # ulr3qRCyXen/KFSJ8NWKcXZl2szwcqMj+sAngkSumScbqyQeJsG33irr9p6xeZmB VERBOSE: # o1aGqwpFyd/EjaDnmPv7pp1yr8THwcFqcdnGE4AJxLafzYeHJLtPo0m5d2aR8XKc VERBOSE: # 6UsCUqc3fpNTrDsdCEkPlM05et3/JWOZJyw9P2un8WbDQc1PtkCbISFA0LcTJM3c VERBOSE: # HXg65J6t5TRxktcma+Q4c6umAU+9Pzt4rUyt+8SVe+0KXzM5h0F4ejjpnOHdI/0d VERBOSE: # KNPH+ejxmF/7K9h+8kaddSweJywm228Vex4Ziza4k9Tm8heZWcpw8De/mADfIBZP VERBOSE: # J/tgZxahZrrdVcA6KYawmKAr7ZVBtzrVFZgxtGIJDwq9gdkT/r+k0fNX2bwE+oLe VERBOSE: # Mt8EifAAzV3C+dAjfwAL5HYCJtnwZXZCpimHCUcr5n8apIUP/JiW9lVUKx+A+sDy VERBOSE: # Divl1vupL0QVSucTDh3bNzgaoSv27dZ8/DCCBY0wggR1oAMCAQICEA6bGI750C3n VERBOSE: # 79tQ4ghAGFowDQYJKoZIhvcNAQEMBQAwZTELMAkGA1UEBhMCVVMxFTATBgNVBAoT VERBOSE: # DERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEkMCIGA1UE VERBOSE: # AxMbRGlnaUNlcnQgQXNzdXJlZCBJRCBSb290IENBMB4XDTIyMDgwMTAwMDAwMFoX VERBOSE: # DTMxMTEwOTIzNTk1OVowYjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0 VERBOSE: # IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEhMB8GA1UEAxMYRGlnaUNl VERBOSE: # cnQgVHJ1c3RlZCBSb290IEc0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC VERBOSE: # AgEAv+aQc2jeu+RdSjwwIjBpM+zCpyUuySE98orYWcLhKac9WKt2ms2uexuEDcQw VERBOSE: # H/MbpDgW61bGl20dq7J58soR0uRf1gU8Ug9SH8aeFaV+vp+pVxZZVXKvaJNwwrK6 VERBOSE: # dZlqczKU0RBEEC7fgvMHhOZ0O21x4i0MG+4g1ckgHWMpLc7sXk7Ik/ghYZs06wXG VERBOSE: # XuxbGrzryc/NrDRAX7F6Zu53yEioZldXn1RYjgwrt0+nMNlW7sp7XeOtyU9e5TXn VERBOSE: # Mcvak17cjo+A2raRmECQecN4x7axxLVqGDgDEI3Y1DekLgV9iPWCPhCRcKtVgkEy VERBOSE: # 19sEcypukQF8IUzUvK4bA3VdeGbZOjFEmjNAvwjXWkmkwuapoGfdpCe8oU85tRFY VERBOSE: # F/ckXEaPZPfBaYh2mHY9WV1CdoeJl2l6SPDgohIbZpp0yt5LHucOY67m1O+Skjqe VERBOSE: # PdwA5EUlibaaRBkrfsCUtNJhbesz2cXfSwQAzH0clcOP9yGyshG3u3/y1YxwLEFg VERBOSE: # qrFjGESVGnZifvaAsPvoZKYz0YkH4b235kOkGLimdwHhD5QMIR2yVCkliWzlDlJR VERBOSE: # R3S+Jqy2QXXeeqxfjT/JvNNBERJb5RBQ6zHFynIWIgnffEx1P2PsIV/EIFFrb7Gr VERBOSE: # hotPwtZFX50g/KEexcCPorF+CiaZ9eRpL5gdLfXZqbId5RsCAwEAAaOCATowggE2 VERBOSE: # MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFOzX44LScV1kTN8uZz/nupiuHA9P VERBOSE: # MB8GA1UdIwQYMBaAFEXroq/0ksuCMS1Ri6enIZ3zbcgPMA4GA1UdDwEB/wQEAwIB VERBOSE: # hjB5BggrBgEFBQcBAQRtMGswJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2lj VERBOSE: # ZXJ0LmNvbTBDBggrBgEFBQcwAoY3aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29t VERBOSE: # L0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENBLmNydDBFBgNVHR8EPjA8MDqgOKA2hjRo VERBOSE: # dHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRBc3N1cmVkSURSb290Q0Eu VERBOSE: # Y3JsMBEGA1UdIAQKMAgwBgYEVR0gADANBgkqhkiG9w0BAQwFAAOCAQEAcKC/Q1xV VERBOSE: # 5zhfoKN0Gz22Ftf3v1cHvZqsoYcs7IVeqRq7IviHGmlUIu2kiHdtvRoU9BNKei8t VERBOSE: # tzjv9P+Aufih9/Jy3iS8UgPITtAq3votVs/59PesMHqai7Je1M/RQ0SbQyHrlnKh VERBOSE: # SLSZy51PpwYDE3cnRNTnf+hZqPC/Lwum6fI0POz3A8eHqNJMQBk1RmppVLC4oVaO VERBOSE: # 7KTVPeix3P0c2PR3WlxUjG/voVA9/HYJaISfb8rbII01YBwCA8sgsKxYoA5AY8WY VERBOSE: # IsGyWfVVa88nq2x2zm8jLfR+cWojayL/ErhULSd+2DrZ8LaHlv1b0VysGMNNn3O3 VERBOSE: # AamfV6peKOK5lDGCA3YwggNyAgEBMHcwYzELMAkGA1UEBhMCVVMxFzAVBgNVBAoT VERBOSE: # DkRpZ2lDZXJ0LCBJbmMuMTswOQYDVQQDEzJEaWdpQ2VydCBUcnVzdGVkIEc0IFJT VERBOSE: # QTQwOTYgU0hBMjU2IFRpbWVTdGFtcGluZyBDQQIQBUSv85SdCDmmv9s/X+VhFjAN VERBOSE: # BglghkgBZQMEAgEFAKCB0TAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJ VERBOSE: # KoZIhvcNAQkFMQ8XDTI0MDUyNzE2MDQzN1owKwYLKoZIhvcNAQkQAgwxHDAaMBgw VERBOSE: # FgQUZvArMsLCyQ+CXc6qisnGTxmcz0AwLwYJKoZIhvcNAQkEMSIEIMVB21Da4GIK VERBOSE: # 80yh5qIcJ8WkxyDIigdttkYDCcSOLKBLMDcGCyqGSIb3DQEJEAIvMSgwJjAkMCIE VERBOSE: # INL25G3tdCLM0dRAV2hBNm+CitpVmq4zFq9NGprUDHgoMA0GCSqGSIb3DQEBAQUA VERBOSE: # BIICABpiM4mXSrfchvAoWlbzlh0YHOVrQMbDpnfLvIxpv+Wh1uA23KJHnwApGv7x VERBOSE: # rM4ZdCRxCVXHJhHJ/47TGlXA48+twLPq4BXjYQOruA/rp4Aft0UrLqkrsr0nMea7 VERBOSE: # yx0kF6IiwnLle27C6ziQvPqRlMvKqM23AJrWyxehLuYbI8v1IyN5vX378iYwiP49 VERBOSE: # OW0T2nqOOuwCeRCL/sqD9U01dp7cBkR7B5eYGME4GVR6mp+aiX1stCIzHsx5yo9h VERBOSE: # Y7DE9tPEcaMBn4aomo6Riq1RO6fUOa2jIOSaN4/T+dYpWQa9ErY7FUfD0+qWEwzX VERBOSE: # LY3G7grGZj3BjRSUcUVpVExQ7THmsM5vohUjmrZWrWv5OeaFqVxPU2Jus8+s3uCY VERBOSE: # D8cuaexHevCl7f3xSRybCCCLp+bO/L2Z1oRUDPkYE9oH2CAMJiVWunFH5F3N2UTp VERBOSE: # EgNUpET6aX8vEA9467yJh0zv/2L1jfMakPqxNP8qGLUumwCD7uSQtKllsLEO/qkk VERBOSE: # JQVJq30EotbG+ppiyB0EVOoQJvoOoI+7tEUobCXcQSZ7f9buPX/JktLSYp3hcq8I VERBOSE: # ds3IbYfJZRi3tCzwUOP6H+H0aY9TBSmxTplo07DHPx8NjzQTIzSPr9ha1JfeMq86 VERBOSE: # UX31n0IvgKb6ja+u9JaZ+mPzdzp55vZrHBSABzEAIBOZDu8G VERBOSE: # SIG # End signature block SignatureTemplatePath: '..\Templates\Signatures' VERBOSE: Execute config file 'C:\HES\SOS - Copy\Set-OutlookSignatures\config\default graph config.ps1' VERBOSE: 'C:\HES\SOS - Copy\Templates\Signatures' is accessible, nothing more to do. SignatureIniPath: '..\Config\_Signatures.ini' VERBOSE: Execute config file 'C:\HES\SOS - Copy\Set-OutlookSignatures\config\default graph config.ps1' VERBOSE: 'C:\HES\SOS - Copy\Config\_Signatures.ini' is accessible, nothing more to do. VERBOSE: Original ini content VERBOSE: # This file defines which templates are to be used, which mailboxes receive a specific template, and which additional settings shall be applied VERBOSE: # See the 'Signature and OOF file format' chapter in '.\docs\README' for more details and enhanced usage examples VERBOSE: VERBOSE: VERBOSE: # Comments can start with '#' or ';' VERBOSE: ; Whitespace(s) at the beginning and the end of a line are ignored VERBOSE: # Empty lines are ignored VERBOSE: VERBOSE: VERBOSE: # Step 1: Put file names with extensions in square brackets VERBOSE: # Example 1: [Company external English formal.htm] VERBOSE: # Example 2: [Company external English formal.docx] VERBOSE: # Putting file names in single or double quotes is possible, but not necessary VERBOSE: # File names are case insensitive VERBOSE: # [file a.htm] is the same as ["File A.htm"] and ['fILE a.htm'] VERBOSE: # When there are two or more sections for a filename, the keys and values are not combined. Each section is considered individually (SortCulture and SortOrder still apply). VERBOSE: # File names not mentioned in this file are not considered, even if they are available in the file system. VERBOSE: # Only the following file extensions are supported: VERBOSE: # When the 'UseHtmTemplates' script parameter is set to 'false' (default): .docx VERBOSE: # When the 'UseHtmTemplates' script parameter is set to 'true': .htm VERBOSE: # VERBOSE: # Step 2: Add tags in the lines below the filename VERBOSE: # Example 1 (signature): VERBOSE: # ***@***.*** VERBOSE: # defaultNew VERBOSE: # defaultReplyFwd VERBOSE: # Example 2 (OOF): VERBOSE: # defaultInternal VERBOSE: # defaultExternal VERBOSE: # Only one tag per line is allowed VERBOSE: # Adding not a single tag to file name section is valid. VERBOSE: # The signature template is then classified as a common template. VERBOSE: # Putting file names in single or double quotes is possible, but not necessary VERBOSE: # Tags are case insensitive VERBOSE: # defaultNew is the same as "DefaultNew" and 'dEFAULTnEW' VERBOSE: # You can override the automatic Outlook signature name generation by setting OutlookSignatureName VERBOSE: # With this option, you can have different template file names for the same Outlook signature name VERBOSE: # This only makes sense for signatures, see the sample signature ini files for examples VERBOSE: # Take care of signature group priorities (common, group, email address) and SortOrder parameter VERBOSE: # Invalid characters for Outlook signature names: \/:"*?><,| plus the ones returned by [System.Io.Path]::GetInvalidFileNameChars() VERBOSE: # For more possible tags, see the README file. VERBOSE: # VERBOSE: # Step 3: Make the software use this ini file by passing the 'SignatureIniPath' or 'OOFIniPath' parameter VERBOSE: VERBOSE: VERBOSE: [<Set-OutlookSignatures configuration>] VERBOSE: # This is a special section, using an identifier that is not valid as a file name. VERBOSE: VERBOSE: # SortOrder VERBOSE: # Define the application order of templates within each template group (common, group specific, mailbox specific) VERBOSE: # The templates are applied from the first to the last entry of the sorted list VERBOSE: # VERBOSE: # Example: VERBOSE: # An ini file with the following content VERBOSE: # [a.docx] VERBOSE: # defaultNew VERBOSE: # writeProtect VERBOSE: # [c.docx] VERBOSE: # defaultNew VERBOSE: # [b.docx] VERBOSE: # defaultNew VERBOSE: # results in the following final defaultNew signature: VERBOSE: # Ascending: c.docx VERBOSE: # Descending: a.docx VERBOSE: # AsInThisFile: b.docx VERBOSE: # VERBOSE: # Default: AsInThisFile VERBOSE: # Possible values: Ascending, asc, up, Descending, desc, down, AsInThisFile VERBOSE: SortOrder = AsInThisFile VERBOSE: VERBOSE: # SortCulture VERBOSE: # Define the culture used to sort the file list VERBOSE: # VERBOSE: # Sort order differences VERBOSE: # Samples taken from https://flylib.com/books/en/3.147.1.80/1/ VERBOSE: # LCID list: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f VERBOSE: # Strings to sort: 'a', 'z', 'ä', 'Æ', 'ch', 'h', 'i', '¥', '\' VERBOSE: # de-AT, en-US, en-GB, zh-CN, ru-RU: \, ¥, a, ä, Æ, ch, h, i, z VERBOSE: # sv-SE: \, ¥, a, Æ, ch, h, i, z, ä VERBOSE: # da-DK: \, ¥, a, ch, h, i, z, Æ, ä VERBOSE: # cs-CZ: \, ¥, a, ä, Æ, h, ch, i, z VERBOSE: # ja-JP: ¥, \, a, ä, Æ, ch, h, i, z VERBOSE: # VERBOSE: # Default: de-AT VERBOSE: # Possible values: Get-Culture -ListAvailable VERBOSE: SortCulture = de-AT VERBOSE: VERBOSE: VERBOSE: # Internal signatures VERBOSE: ## Internal signature, common VERBOSE: VERBOSE: ; [Internal informal.docx] VERBOSE: ; defaultNew VERBOSE: ; DefaultReplyFwd VERBOSE: ; OutlookSignatureName = HesMain VERBOSE: VERBOSE: [HES.docx] VERBOSE: defaultNew VERBOSE: DefaultReplyFwd VERBOSE: OutlookSignatureName = HesMain VERBOSE: VERBOSE: VERBOSE: ; ## Internal signatures, delegate mailboxes VERBOSE: ; [Internal informal Delegate.docx] VERBOSE: ; ***@***.*** VERBOSE: ; ***@***.*** VERBOSE: ; OutlookSignatureName = Internal informal Delegate alex.alien@ VERBOSE: ; DefaultReplyFwd VERBOSE: VERBOSE: ; [Internal informal Delegate.docx] VERBOSE: ; ***@***.*** VERBOSE: ; ***@***.*** VERBOSE: ; OutlookSignatureName = Internal informal Delegate fenix.fish@ VERBOSE: ; DefaultReplyFwd VERBOSE: VERBOSE: ; [Internal informal Delegate.docx] VERBOSE: ; ***@***.*** VERBOSE: ; ***@***.*** VERBOSE: ; OutlookSignatureName = Internal informal Delegate nat.nuts@ VERBOSE: ; DefaultReplyFwd VERBOSE: VERBOSE: VERBOSE: ; # External signatures VERBOSE: ; ## External signature, informal, common VERBOSE: ; [External informal.docx] VERBOSE: ; DefaultReplyFwd VERBOSE: VERBOSE: ; ## External signatures, informal, shared mailboxes VERBOSE: ; [External informal Shared.docx] VERBOSE: ; ***@***.*** VERBOSE: ; ***@***.*** VERBOSE: ; OutlookSignatureName = External informal executiveboard.office@ VERBOSE: ; defaultReplyFwd VERBOSE: VERBOSE: ; ## External signature, formal, common VERBOSE: ; [External formal.docx] VERBOSE: ; defaultNew VERBOSE: ; defaultReplyFwd VERBOSE: VERBOSE: ; ## External signature, formal, for HR department VERBOSE: ; ### Default around the year VERBOSE: ; [External formal HR.docx] VERBOSE: ; NetBiosDomainName Name-of-HR-Group VERBOSE: ; OutlookSignatureName = External formal VERBOSE: ; defaultNew VERBOSE: VERBOSE: ; ### Christmas time VERBOSE: ; [External formal HR Christmas.docx] VERBOSE: ; 202412100000-202501062359 VERBOSE: ; 202512100000-202601062359 VERBOSE: ; 202612100000-202701062359 VERBOSE: ; 202712100000-202801062359 VERBOSE: ; 202812100000-202901062359 VERBOSE: ; 202912100000-203001062359 VERBOSE: ; 203012100000-203101062359 VERBOSE: ; EntraID ***@***.*** VERBOSE: ; OutlookSignatureName = External formal VERBOSE: ; defaultNew VERBOSE: VERBOSE: ; ## Exteral signatures, formal, shared mailboxes VERBOSE: ; [External formal Shared.docx] VERBOSE: ; ***@***.*** VERBOSE: ; ***@***.*** VERBOSE: ; OutlookSignatureName = External formal executiveboard.office@ VERBOSE: ; defaultNew VERBOSE: VERBOSE: ; ## External signatures, formal, delegate mailboxes VERBOSE: ; [External formal Delegate.docx] VERBOSE: ; ***@***.*** VERBOSE: ; ***@***.*** VERBOSE: ; OutlookSignatureName = External formal Delegate alex.alien@ VERBOSE: ; defaultNew VERBOSE: ; defaultReplyFwd VERBOSE: VERBOSE: ; [External formal Delegate.docx] VERBOSE: ; ***@***.*** VERBOSE: ; ***@***.*** VERBOSE: ; OutlookSignatureName = External formal Delegate fenix.fish@ VERBOSE: ; defaultNew VERBOSE: ; defaultReplyFwd VERBOSE: VERBOSE: ; [External formal Delegate.docx] VERBOSE: ; ***@***.*** VERBOSE: ; ***@***.*** VERBOSE: ; OutlookSignatureName = External formal Delegate nat.nuts@ VERBOSE: ; defaultNew VERBOSE: ; defaultReplyFwd VERBOSE: VERBOSE: VERBOSE: ; # Test signature showing all default replacement variables VERBOSE: ; [Test all default replacement variables.docx] VERBOSE: Parsed ini content VERBOSE: Signature ini index #: '0' VERBOSE: Tags: [<Set-OutlookSignatures template> = <Set-OutlookSignatures configuration>] [SortOrder = AsInThisFile] [SortCulture = de-AT] VERBOSE: Signature ini index #: '1' VERBOSE: Tags: [<Set-OutlookSignatures template> = HES.docx] [defaultNew] [DefaultReplyFwd] [OutlookSignatureName = HesMain] SetCurrentUserOutlookWebSignature: 'True' SetCurrentUserOOFMessage: 'True' OOFTemplatePath: '.\sample templates\Out of Office DOCX' VERBOSE: Execute config file 'C:\HES\SOS - Copy\Set-OutlookSignatures\config\default graph config.ps1' VERBOSE: 'C:\HES\SOS - Copy\Set-OutlookSignatures\sample templates\Out of Office DOCX' is accessible, nothing more to do. OOFIniPath: '.\sample templates\Out of Office DOCX\_OOF.ini' VERBOSE: Execute config file 'C:\HES\SOS - Copy\Set-OutlookSignatures\config\default graph config.ps1' VERBOSE: 'C:\HES\SOS - Copy\Set-OutlookSignatures\sample templates\Out of Office DOCX\_OOF.ini' is accessible, nothing more to do. VERBOSE: Original ini content VERBOSE: # This file defines which templates are to be used, which mailboxes receive a specific template, and which additional settings shall be applied VERBOSE: # See the 'Signature and OOF file format' chapter in '.\docs\README' for more details and enhanced usage examples VERBOSE: VERBOSE: VERBOSE: # Comments can start with '#' or ';' VERBOSE: ; Whitespace(s) at the beginning and the end of a line are ignored VERBOSE: # Empty lines are ignored VERBOSE: VERBOSE: VERBOSE: # Step 1: Put file names with extensions in square brackets VERBOSE: # Example 1: [Company external English formal.htm] VERBOSE: # Example 2: [Company external English formal.docx] VERBOSE: # Putting file names in single or double quotes is possible, but not necessary VERBOSE: # File names are case insensitive VERBOSE: # [file a.htm] is the same as ["File A.htm"] and ['fILE a.htm'] VERBOSE: # When there are two or more sections for a filename, the keys and values are not combined. Each section is considered individually (SortCulture and SortOrder still apply). VERBOSE: # File names not mentioned in this file are not considered, even if they are available in the file system. VERBOSE: # Only the following file extensions are supported: VERBOSE: # When the 'UseHtmTemplates' script parameter is set to 'false' (default): .docx VERBOSE: # When the 'UseHtmTemplates' script parameter is set to 'true': .htm VERBOSE: # VERBOSE: # Step 2: Add tags in the lines below the filename VERBOSE: # Example 1 (signature): VERBOSE: # ***@***.*** VERBOSE: # defaultNew VERBOSE: # defaultReplyFwd VERBOSE: # Example 2 (OOF): VERBOSE: # defaultInternal VERBOSE: # defaultExternal VERBOSE: # Only one tag per line is allowed VERBOSE: # Adding not a single tag to file name section is valid. VERBOSE: # The signature template is then classified as a common template. VERBOSE: # Putting file names in single or double quotes is possible, but not necessary VERBOSE: # Tags are case insensitive VERBOSE: # defaultNew is the same as "DefaultNew" and 'dEFAULTnEW' VERBOSE: # You can override the automatic Outlook signature name generation by setting OutlookSignatureName VERBOSE: # With this option, you can have different template file names for the same Outlook signature name VERBOSE: # This only makes sense for signatures, see the sample signature ini files for examples VERBOSE: # Take care of signature group priorities (common, group, email address) and SortOrder parameter VERBOSE: # Invalid characters for Outlook signature names: \/:"*?><,| plus the ones returned by [System.Io.Path]::GetInvalidFileNameChars() VERBOSE: # For more possible tags, see the README file. VERBOSE: # VERBOSE: # Step 3: Make the software use this ini file by passing the 'SignatureIniPath' or 'OOFIniPath' parameter VERBOSE: VERBOSE: VERBOSE: [<Set-OutlookSignatures configuration>] VERBOSE: # This is a special section, using an identifier that is not valid as a file name. VERBOSE: VERBOSE: # SortOrder VERBOSE: # Define the application order of templates within each template group (common, group specific, mailbox specific) VERBOSE: # The templates are applied from the first to the last entry of the sorted list VERBOSE: # VERBOSE: # Example: VERBOSE: # An ini file with the following content VERBOSE: # [a.docx] VERBOSE: # defaultNew VERBOSE: # writeProtect VERBOSE: # [c.docx] VERBOSE: # defaultNew VERBOSE: # [b.docx] VERBOSE: # defaultNew VERBOSE: # results in the following final defaultNew signature: VERBOSE: # Ascending: c.docx VERBOSE: # Descending: a.docx VERBOSE: # AsInThisFile: b.docx VERBOSE: # VERBOSE: # Default: AsInThisFile VERBOSE: # Possible values: Ascending, asc, up, Descending, desc, down, AsInThisFile VERBOSE: SortOrder = AsInThisFile VERBOSE: VERBOSE: # SortCulture VERBOSE: # Define the culture used to sort the file list VERBOSE: # VERBOSE: # Sort order differences VERBOSE: # Samples taken from https://flylib.com/books/en/3.147.1.80/1/ VERBOSE: # LCID list: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f VERBOSE: # Strings to sort: 'a', 'z', 'ä', 'Æ', 'ch', 'h', 'i', '¥', '\' VERBOSE: # de-AT, en-US, en-GB, zh-CN, ru-RU: \, ¥, a, ä, Æ, ch, h, i, z VERBOSE: # sv-SE: \, ¥, a, Æ, ch, h, i, z, ä VERBOSE: # da-DK: \, ¥, a, ch, h, i, z, Æ, ä VERBOSE: # cs-CZ: \, ¥, a, ä, Æ, h, ch, i, z VERBOSE: # ja-JP: ¥, \, a, ä, Æ, ch, h, i, z VERBOSE: # VERBOSE: # Default: de-AT VERBOSE: # Possible values: Get-Culture -ListAvailable VERBOSE: SortCulture = de-AT VERBOSE: VERBOSE: VERBOSE: # Internal Out-of-Office replies VERBOSE: ## Internal OOF, common VERBOSE: [Internal.docx] VERBOSE: Internal VERBOSE: VERBOSE: ## Internal OOF, for users without manager VERBOSE: [Internal no manager.docx] VERBOSE: -:$CurrentUserManagerMail$ VERBOSE: Internal VERBOSE: VERBOSE: ## Internal OOF, for Executive Office Board department VERBOSE: [Internal Executive Office Board members.docx] VERBOSE: EntraID ***@***.*** VERBOSE: Internal VERBOSE: VERBOSE: VERBOSE: # External Out-of-Office replies VERBOSE: ## External OOF, common VERBOSE: [External.docx] VERBOSE: External VERBOSE: VERBOSE: ## External OOF, for users without manager VERBOSE: [External no manager.docx] VERBOSE: -:$CurrentUserManagerMail$ VERBOSE: External VERBOSE: VERBOSE: ## External OOF, for Executive Office Board department VERBOSE: [External Executive Office Board members.docx] VERBOSE: NetBiosDomainName Name-of-ExecutiveOfficeBoard-Group VERBOSE: External VERBOSE: Parsed ini content VERBOSE: OOF ini index #: '0' VERBOSE: Tags: [<Set-OutlookSignatures template> = <Set-OutlookSignatures configuration>] [SortOrder = AsInThisFile] [SortCulture = de-AT] VERBOSE: OOF ini index #: '1' VERBOSE: Tags: [<Set-OutlookSignatures template> = Internal.docx] [Internal] VERBOSE: OOF ini index #: '2' VERBOSE: Tags: [<Set-OutlookSignatures template> = Internal no manager.docx] [-:$CurrentUserManagerMail$] [Internal] VERBOSE: OOF ini index #: '3' VERBOSE: Tags: [<Set-OutlookSignatures template> = Internal Executive Office Board members.docx] [EntraID ***@***.*** [Internal] VERBOSE: OOF ini index #: '4' VERBOSE: Tags: [<Set-OutlookSignatures template> = External.docx] [External] VERBOSE: OOF ini index #: '5' VERBOSE: Tags: [<Set-OutlookSignatures template> = External no manager.docx] [-:$CurrentUserManagerMail$] [External] VERBOSE: OOF ini index #: '6' VERBOSE: Tags: [<Set-OutlookSignatures template> = External Executive Office Board members.docx] [NetBiosDomainName Name-of-ExecutiveOfficeBoard-Group] [External] UseHtmTemplates: 'False' GraphOnly: 'true' SimulateAndDeploy: 'False' SimulateAndDeployGraphCredentialFile: '' ReplacementVariableConfigFile: '..\Config\default replacement variables.ps1' VERBOSE: Execute config file 'C:\HES\SOS - Copy\Set-OutlookSignatures\config\default graph config.ps1' VERBOSE: 'C:\HES\SOS - Copy\Config\default replacement variables.ps1' is accessible, nothing more to do. VERBOSE: # This file allows defining custom replacement variables for Set-OutlookSignatures VERBOSE: # VERBOSE: # This script is executed as a whole once for each mailbox. VERBOSE: # It allows for complex replacement variable handling (complex string transformations, retrieving information from web services and databases, etc.). VERBOSE: # VERBOSE: # Attention: The configuration file is executed as part of Set-OutlookSignatures.ps1 and is not checked for any harmful content. Please only allow qualified technicians write access to this file, only use it to to define replacement variables and test it thoroughly. VERBOSE: # VERBOSE: # Replacement variable names are not case sensitive. VERBOSE: # VERBOSE: # A variable defined in this file overrides the definition of the same variable defined earlier in the software. VERBOSE: # VERBOSE: # VERBOSE: # See README file for more examples, such as: VERBOSE: # Allowed tags VERBOSE: # How to work with ini files VERBOSE: # Variable replacement VERBOSE: # Photos from Active Directory VERBOSE: # Delete images when attribute is empty, variable content based on group membership VERBOSE: # How to avoid blank lines when replacement variables return an empty string? VERBOSE: # VERBOSE: # VERBOSE: # What is the recommended approach for custom configuration files? VERBOSE: # You should not change the default configuration file '.\config\default replacement variable.ps1', as it might be changed in a future release of Set-OutlookSignatures. In this case, you would have to sort out the changes yourself. VERBOSE: # VERBOSE: # The following steps are recommended: VERBOSE: # 1. Create a new custom configuration file in a separate folder. VERBOSE: # 2. The first step in the new custom configuration file should be to load the default configuration file: VERBOSE: # # Loading default replacement variables shipped with Set-OutlookSignatures VERBOSE: # . ([System.Management.Automation.ScriptBlock]::Create((Get-Content -LiteralPath $(Join-Path -Path $(Get-Location).ProviderPath -ChildPath '\config\default replacement variables.ps1') -Raw))) VERBOSE: # 3. After importing the default configuration file, existing replacement variables can be altered with custom definitions and new replacement variables can be added. VERBOSE: # 4. Instead of altering existing replacement variables, it is recommended to create new replacement variables with modified content. VERBOSE: # 5. Start Set-OutlookSignatures with the parameter 'ReplacementVariableConfigFile' pointing to the new custom configuration file. VERBOSE: VERBOSE: VERBOSE: VERBOSE: VERBOSE: # Loading default replacement variables shipped with Set-OutlookSignatures VERBOSE: . ([System.Management.Automation.ScriptBlock]::Create((Get-Content -LiteralPath $(Join-Path -Path $(Get-Location).ProviderPath -ChildPath '\config\default replacement variables.ps1') -Raw))) VERBOSE: VERBOSE: VERBOSE: # Currently logged in user VERBOSE: $ReplaceHash['$CurrentUserGivenname$'] = [string]$ADPropsCurrentUser.givenName VERBOSE: $ReplaceHash['$CurrentUserSurname$'] = [string]$ADPropsCurrentUser.sn VERBOSE: $ReplaceHash['$CurrentUserDepartment$'] = [string]$ADPropsCurrentUser.department VERBOSE:
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Set-OutlookSignatures-Set-OutlookSignatures#51
No description provided.