Schnellstart-Anleitung

Signaturen in wenigen Minuten

🔗Schritt 1: Herunterladen

Laden Sie das Archiv herunter und entpacken Sie es in einen lokalen Ordner: Software herunterladen Downloads Open issues

Auf Windows und macOS: Rechtsklick auf Set-OutlookSignatures.ps1 > Eigenschaften > "Zulassen" (Unblock) anhaken.

🔗Schritt 2: Einmalige Vorbereitungen

💻

Client und Benutzer

Melden Sie sich mit einem Testbenutzer unter Windows mit Classic Outlook und Word an. Wenn Sie dies mit Ihrem Hauptkonto ausführen, werden Signaturen mit den Namen "Formal" oder "Informal" überschrieben, sofern Sie nicht den in Schritt 3 beschriebenen Simulationsmodus verwenden.

Der Simulationsmodus erlaubt die Ausführung dieser Schnellstart-Anleitung auf Linux und macOS, oder wenn Classic Outlook for Windows nicht verfügbar ist.

🛡️

Endpoint Security (AppLocker, Defender, CrowdStrike…)

Vertrauen Sie der Software, die mit dem Zertifikat von ExplicIT Consulting signiert ist – alle enthaltenen PS1- und DLL-Dateien sind mit diesem Zertifikat signiert.

Erlaufen Sie bei Bedarf die Ausführung und das Laden von Bibliotheken aus dem TEMP-Ordner.

☁️

Entra ID App für Exchange Online erstellen

Folgen Sie den Anweisungen in .\config\default graph config.ps1 für die manuelle Einrichtung oder lassen Sie einen "Globalen Administrator" oder "Anwendungsadministrator" den bereitgestellten PowerShell-Befehl ausführen.

powershell.exe -NoExit -File "c:\test\sample code\Create-EntraApp.ps1" -AppType "Set-OutlookSignatures" -AppName "Set-OutlookSignatures"

Für nationale oder Sovereign Clouds fügen Sie den Parameter CloudEnvironment hinzu.

Prüfen Sie die erforderlichen Berechtigungen vorab: Alle Informationen zur Nutzung finden Sie in den Dateien selbst sowie im Kapitel Security considerations.

🔗Schritt 3: Set-OutlookSignatures ausführen

powershell.exe -NoExit -File "c:\test\Set-OutlookSignatures.ps1" -GraphOnly true -GraphClientId "<Entra ID app client ID>"

In reinen on-premises-Umgebungen entfernen Sie die Parameter GraphOnly und GraphClientId.
Für nationale oder souveräne Clouds fügen Sie den Parameter CloudEnvironment hinzu.

💡

Profi-Tipp: Risikofrei starten mit dem Simulationsmodus

Wenn Sie kein Classic Outlook installiert haben oder die Software ohne Auswirkungen testen möchten, nutzen Sie den Simulationsmodus: Dieser Modus erstellt die exakten Signaturen für den simulierten Benutzer als Dateien auf Ihrer Festplatte, ohne Outlook zu verändern – der perfekte Weg, um Ihre Konfiguration zu prüfen, ohne Systemeinstellungen zu ändern.

Fügen Sie einfach den Parameter -SimulateUser a@example.com -SimulateMailboxes a@example.com hinzu und sehen Sie sich die Ergebnisse in Ihrem Ordner Dokumente\Outlook Signatures an.

Hier klicken für die Ausgabe eines Beispieldurchlaufs (für Endbenutzer normalerweise versteckt/unsichtbar ausgeführt).
Start Set-OutlookSignatures
  Log file: 'C:\Users\bobbybusy\AppData\Local\Set-OutlookSignatures\Logs\Set-OutlookSignatures_Log.txt'
    Ignore log lines starting with 'PS>TerminatingError' or '>> TerminatingError' unless instructed otherwise.

Script notes
  Software: Set-OutlookSignatures
  Version : v4.31.0
  Web     : https://set-outlooksignatures.com
  License : See '.\LICENSE.txt' for details and copyright

Check parameters and script environment
  PowerShell: '5.1.26100.8655', 'Desktop', 'Microsoft Windows NT 10.0.26200.0'
  PowerShell bitness: 64-bit process on a 64-bit operating system
  Script path: 'C:\Demo\Set-OutlookSignatures\Set-OutlookSignatures.ps1'
  Invocation line: '& $ScriptToUse @params'
  Bound parameters: '{"OOFTemplatePath":"..\\Templates\\Out-of-Office DOCX","ReplacementVariableConfigFile":"..\\Config\\custom replacement variables.ps1","UseHtmTemplates":false,"BenefactorCircleID":"e8911c17-de30-0000-0000-000000000001","SignatureIniFile":"..\\Templates\\Signatures DOCX\\_Signatures.ini","SignatureTemplatePath":"..\\Templates\\Signatures DOCX","OOFIniFile":"..\\Templates\\Out-of-Office DOCX\\_OOF.ini","GraphClientID":"2bee9349-d720-420a-853f-a93c8bbc2179","BenefactorCircleLicenseFile":"..\\License\\license.dll","WordProcessPriority":"High","ScriptProcessPriority":"High","MirrorCloudSignatures":"CurrentUserOnly","GraphOnly":true}'
  Unbound arguments: ''
  Set-OutlookSignatures.ps1 hash: BF6D8E18A695AA43633621C10AF77E6273EA41B074E3405FA76F2120BD63D28B
  SetOutlookSignatures.Common.dll hash: 2FA8133B61D6A7A61FB371BD083AFF7A3901E39C72E936F4CA27518AFF635661
  TrustsToCheckForGroups: '*'
  IncludeMailboxForestDomainLocalGroups: 'False'
  CloudEnvironment: 'Public'
  GraphClientID: '2bee9349-d720-420a-853f-a93c8bbc2179'
  GraphConfigFile: '.\config\default graph config.ps1'
  SignatureTemplatePath: '..\Templates\Signatures DOCX'
  SignatureIniFile: '..\Templates\Signatures DOCX\_Signatures.ini'
  SetCurrentUserOutlookWebSignature: 'True'
  SetCurrentUserOOFMessage: 'True'
  OOFTemplatePath: '..\Templates\Out-of-Office DOCX'
  OOFIniFile: '..\Templates\Out-of-Office DOCX\_OOF.ini'
  UseHtmTemplates: 'False'
  GraphOnly: 'True'
  SimulateAndDeploy: 'False'
  SimulateAndDeployGraphCredentialFile: ''
  ReplacementVariableConfigFile: '..\Config\custom replacement variables.ps1'
  VirtualMailboxConfigFile: ''
  MoveCSSInline: 'True'
  EmbedImagesInHtml: 'False'
  EmbedImagesInHtmlAdditionalSignaturePath: 'True'
  CreateRtfSignatures: 'False'
  CreateTxtSignatures: 'True'
  DocxHighResImageConversion: 'True'
  DeleteUserCreatedSignatures: 'False'
  DeleteScriptCreatedSignaturesWithoutTemplate: 'True'
  SignaturesForAutomappedAndAdditionalMailboxes: 'True'
  AdditionalSignaturePath: 'C:\Users\bobbybusy\Documents\Outlook Signatures'
  SimulateUser: ''
  SimulateMailboxes: ''
  SimulateTime: ''
  DisableRoamingSignatures: 'True'
  MirrorCloudSignatures: 'CurrentUserOnly'
  SignatureCollectionInDrafts: 'True'
  MailboxSpecificSignatureNames: 'False'
  WordProcessPriority: 'High' ('128')
  ScriptProcessPriority: 'High' ('128')
  BenefactorCircleLicenseFile: '..\License\license.dll'
  BenefactorCircleID: 'e8911c17-de30-0000-0000-000000000001'

Benefactor Circle license information
  Licensed to Benefactor Circle member
    Set-OutlookSignatures demo tenant by ExplicIT Consulting GmbH
  License version
    License version and script version match: v4.31.0
  License validity check
    License is valid

Loading and initializing dependencies
  QRCoder
  libphonenumber-csharp
  AddressFormatter

Get basic Outlook and Word information
  Outlook
    Set 'Send Pictures With Document' registry value to '1'
    Set 'DisableRoamingSignatures' registry value to '1'
    Registry version: 16.0
    File version: 16.0.20131.20154
    Bitness: x64
    Default profile: Outlook
    Is C2R Beta: False
    DisableRoamingSignatures: 1
    UseNewOutlook: False
  New Outlook
    Version: 1.2026.707.300
    Status: Ok
    UseNewOutlook: False
  Word
    Set 'DontUseScreenDpiOnOpen' registry value to '1'
    Registry version: 16.0
    File version: 16.0.20131.20154
    Bitness: x64

Get Outlook signature file path(s)
  'C:\Users\bobbybusy\AppData\Roaming\Microsoft\Signatures'

Enumerate domains
  Parameter GraphOnly set to 'True', ignore user's Active Directory in favor of Graph/Entra ID.

Get properties of currently logged-in user and assigned manager
  Currently logged-in user
    Enforcing Graph because at least one condition is true:
      GraphOnly is true: True
      GraphOnly is false, mailbox is in cloud, SetCurrentUserOOFMessage and/or SetCurrentUserOutlookWebSignature is true: False
      GraphOnly is false and on-prem AD properties of current user are empty: False
      New Outlook is used: False
      The only Benefactor Circle license group is in Entra ID: True
    Graph authentication
      Application (client) ID of the Entra ID app: 2bee9349-d720-420a-853f-a93c8bbc2179
      Load MSAL.PS
      Authentication against Graph
        Silent via Integrated Windows Authentication without login hint
PS>TerminatingError(): "Failed to get user name. "
          Failed: Failed to get user name.
        Silent via Integrated Windows Authentication with login hint
          Login hint: ''
          Failed: No login hint found before
        Silent via Authentication Broker without login hint
          Success: 'bobby.busy@galactic.test'
      Authentication against Exchange Online
        Silent via Integrated Windows Authentication without login hint
          Failed: Ignoring because login hint is available.
        Silent via Integrated Windows Authentication with login hint
          Login hint: 'bobby.busy@galactic.test'
PS>TerminatingError(): "Integrated Windows Auth is not supported for managed users. See https://aka.ms/msal-net-iwa for details. "
          Failed: Integrated Windows Auth is not supported for managed users. See https://aka.ms/msal-net-iwa for details.
        Silent via Authentication Broker without login hint
          Failed: Ignoring because login hint is available.
        Silent via Authentication Broker with login hint
          Login hint: 'bobby.busy@galactic.test'
          Success: 'bobby.busy@galactic.test'
      The permissions of the Entra ID app are not configured ideally.
        Details: https://set-outlooksignatures.com/details#security-considerations
        Info: App does not use the preferred delegated permission Files.SelectedOperations.Selected from the optional set 'Files.SelectedOperations.Selected OR Files.Read.All'.
          Files.SelectedOperations.Selected is harder to implement but more secure.
      Graph token cache: Encrypted file 'C:\Users\bobbybusy\AppData\Local\Set-OutlookSignatures\MSAL.PS\MSAL.PS.msalcache.bin3'
    DistinguishedName:
    UserPrincipalName: bobby.busy@galactic.test
    Mail: bobby.busy@galactic.test
  Manager of currently logged-in user
    DistinguishedName:
    UserPrincipalName: alex.alien@galactic.test
    Mail: alex.alien@galactic.test

Get email addresses
  Get email addresses from Outlook
    Profile 'Outlook'
      bobby.busy@galactic.test
      alex.alien@galactic.test
      executiveboard.office@galactic.test (automapped or additional mailbox)

Get properties of each mailbox and its manager
  bobby.busy@galactic.test
    Search for mailbox user object in Graph
      DistinguishedName:
      UserPrincipalName: bobby.busy@galactic.test
      Mail: bobby.busy@galactic.test
      Manager: alex.alien@galactic.test
        DistinguishedName:
        UserPrincipalName: alex.alien@galactic.test
        Mail: alex.alien@galactic.test
      Get group membership of mailbox
  alex.alien@galactic.test
    Search for mailbox user object in Graph
      DistinguishedName:
      UserPrincipalName: alex.alien@galactic.test
      Mail: alex.alien@galactic.test
      Manager:
      Get group membership of mailbox
  executiveboard.office@galactic.test
    Search for mailbox user object in Graph
PS>TerminatingError(Invoke-RestMethod): "The remote server returned an error: (404) Not Found."
      DistinguishedName:
      UserPrincipalName: executiveboard.office@galactic.test
      Mail: execboard.office@galactic.test
      Manager:
      Get group membership of mailbox
  Parameter 'VirtualMailboxConfigFile' is not enabled, skipping task.

Sort mailbox list: User's primary mailbox, mailboxes in default Outlook profile, others
  Mail attribute of currently logged-in or simulated user: 'bobby.busy@galactic.test'
    Matching mailbox found
  Mailbox priority (highest to lowest)
    bobby.busy@galactic.test
    alex.alien@galactic.test
    execboard.office@galactic.test

Get all signature template files and categorize them
  Compare signature INI entries and file system
  Sort template files according to configuration
    'Informal.docx' (signature INI index #1)
      Common template (no group, email address or replacement variable allow tags specified)
      Default signature for replies and forwards
        defaultReplyFwd
    'Formal.docx' (signature INI index #2)
      Common template (no group, email address or replacement variable allow tags specified)
      Default signature for new emails
        defaultNew
    'Test all default replacement variables.docx' (signature INI index #3)
      Common template (no group, email address or replacement variable allow tags specified)
    'Informal Delegate.docx' (signature INI index #4)
      Outlook signature name: 'Informal Delegate alex.alien'
      Mailbox specific template
        alex.alien@galactic.test
      Mailbox specific exclusions
        -CURRENTUSER:alex.alien@galactic.test
      Default signature for replies and forwards
        defaultReplyFwd
    'Informal Shared.docx' (signature INI index #5)
      Outlook signature name: 'Informal executiveboard.office'
      Mailbox specific template
        executiveboard.office@galactic.test
      Mailbox specific exclusions
        -CurrentUser:executiveboard.office@galactic.test
      Default signature for replies and forwards
        defaultReplyFwd
    'Formal Shared.docx' (signature INI index #6)
      Outlook signature name: 'Formal executiveboard.office'
      Mailbox specific template
        executiveboard.office@galactic.test
      Mailbox specific exclusions
        -CurrentUser:executiveboard.office@galactic.test
      Default signature for new emails
        defaultNew
    'Formal Delegate.docx' (signature INI index #7)
      Outlook signature name: 'Formal Delegate alex.alien'
      Mailbox specific template
        alex.alien@galactic.test
      Mailbox specific exclusions
        -CURRENTUSER:alex.alien@galactic.test
      Default signature for new emails
        defaultNew

Get all OOF template files and categorize them
  Compare OOF INI entries and file system
  Sort template files according to configuration
    'Internal.docx' (OOF INI index #1)
      Common template (no group, email address or replacement variable allow tags specified)
      Default internal OOF message
        Internal
    'External.docx' (OOF INI index #2)
      Common template (no group, email address or replacement variable allow tags specified)
      Default external OOF message
        External

Start Word background process

Mailbox bobby.busy@galactic.test
  Mailbox is member of license group: True
  Extract SMTP addresses
  Calculate replacement variables
    'C:\Demo\Config\custom replacement variables.ps1'
    Export available images
  Download roaming signatures from Exchange Online
    Download possible, Upload/set defaults possible, enable verbose output for details
    'Formal' -> 'Formal'
    'Formal Delegate alex.alien' -> 'Formal Delegate alex.alien'
    'Formal executiveboard.office' -> 'Formal executiveboard.office'
    'Informal' -> 'Informal'
    'Informal Delegate alex.alien' -> 'Informal Delegate alex.alien'
    'Informal executiveboard.office' -> 'Informal executiveboard.office'
    'Test all default replacement variables' -> 'Test all default replacement variables'
  Process common templates
    'Informal.docx' (Signature INI index #1)
      Check permissions
        Allows
          Common: Template is classified as common template valid for all mailboxes
        Denies
          No group match for current mailbox, checking current user specific denies
          Group: Mailbox and current user are not member of any denied group
          No email address match for current mailbox, checking current user specific denies
          Email address: Mailbox and current user do not have any denied email address
          Replacement variable: No deny replacement variable evaluates to true
        Use template as there is at least one allow and no deny
      Outlook signature name: 'Informal'
      Create temporary file copy
      Replace non-picture variables
      Replace picture variables
      Export to HTM format
        Export high-res images
        Copy HTM image width and height attributes to style attribute
        Move CSS inline
        Remove empty CSS properties from style attributes
        Add marker to final HTM file
        Modify connected folder name
      Export to TXT format
      Upload signature to Exchange Online as roaming signature
        May take longer if images are not already embedded
        '8e7e184f-ae90-46b1-bab0-ed7220b9a4ef' -> 'Informal'
      Copy signature files to 'C:\Users\bobbybusy\AppData\Roaming\Microsoft\Signatures'
      Remove temporary files
      Set signature as default for reply/forward messages (Outlook profile 'Outlook')
    'Formal.docx' (Signature INI index #2)
      Check permissions
        Allows
          Common: Template is classified as common template valid for all mailboxes
        Denies
          No group match for current mailbox, checking current user specific denies
          Group: Mailbox and current user are not member of any denied group
          No email address match for current mailbox, checking current user specific denies
          Email address: Mailbox and current user do not have any denied email address
          Replacement variable: No deny replacement variable evaluates to true
        Use template as there is at least one allow and no deny
      Outlook signature name: 'Formal'
      Create temporary file copy
      Replace non-picture variables
      Replace picture variables
      Export to HTM format
        Export high-res images
        Copy HTM image width and height attributes to style attribute
        Move CSS inline
        Remove empty CSS properties from style attributes
        Add marker to final HTM file
        Modify connected folder name
      Export to TXT format
      Upload signature to Exchange Online as roaming signature
        May take longer if images are not already embedded
        '90f3a1da-e179-45b8-bb18-5b440c104c19' -> 'Formal'
      Copy signature files to 'C:\Users\bobbybusy\AppData\Roaming\Microsoft\Signatures'
      Remove temporary files
      Set signature as default for new messages (Outlook profile 'Outlook')
    'Test all default replacement variables.docx' (Signature INI index #3)
      Check permissions
        Allows
          Common: Template is classified as common template valid for all mailboxes
        Denies
          No group match for current mailbox, checking current user specific denies
          Group: Mailbox and current user are not member of any denied group
          No email address match for current mailbox, checking current user specific denies
          Email address: Mailbox and current user do not have any denied email address
          Replacement variable: No deny replacement variable evaluates to true
        Use template as there is at least one allow and no deny
      Outlook signature name: 'Test all default replacement variables'
      Create temporary file copy
      Replace non-picture variables
        Template contains much text, replacement may be slow
      Replace picture variables
        Warning: Template contains images or shapes configured as non-inline.
          Set the text wrapping to 'inline with text' to avoid email incompatibilities, such as incorrect positioning.
        Template contains many pictures, replacement may be slow
      Export to HTM format
        Export high-res images
        Copy HTM image width and height attributes to style attribute
        Move CSS inline
        Remove empty CSS properties from style attributes
        Add marker to final HTM file
        Modify connected folder name
      Export to TXT format
      Upload signature to Exchange Online as roaming signature
        May take longer if images are not already embedded
        'f2ae5363-1460-4998-bceb-628bc5907f7a' -> 'Test all default replacement variables'
      Copy signature files to 'C:\Users\bobbybusy\AppData\Roaming\Microsoft\Signatures'
      Remove temporary files
  Process group specific templates
  Process mailbox specific templates
    'Informal Delegate.docx' (Signature INI index #4)
      Check permissions
        Allows
          No email address match for current mailbox, checking current user specific allows
          Email address: Mailbox and current user do not have any allowed email address
        Do not use template as there is no allow or at least one deny
    'Informal Shared.docx' (Signature INI index #5)
      Check permissions
        Allows
          No email address match for current mailbox, checking current user specific allows
          Email address: Mailbox and current user do not have any allowed email address
        Do not use template as there is no allow or at least one deny
    'Formal Shared.docx' (Signature INI index #6)
      Check permissions
        Allows
          No email address match for current mailbox, checking current user specific allows
          Email address: Mailbox and current user do not have any allowed email address
        Do not use template as there is no allow or at least one deny
    'Formal Delegate.docx' (Signature INI index #7)
      Check permissions
        Allows
          No email address match for current mailbox, checking current user specific allows
          Email address: Mailbox and current user do not have any allowed email address
        Do not use template as there is no allow or at least one deny
  Process replacementvariable specific templates
  Set default signature(s) in Outlook for the web
    Set default classic (not roaming) Outlook for the web signature
    Default signature for new emails: 'Formal'
    Default signature for replies and forwards: 'Informal'
    Using 'Formal' for classic Outlook for the web (only one signature possible).
PS>TerminatingError(Invoke-RestMethod): "The remote server returned an error: (400) Bad Request."
PS>TerminatingError(Invoke-RestMethod): "The remote server returned an error: (400) Bad Request."
    Set default roaming Outlook for the web signature(s)
      Default signature for new emails: 'Formal'
      Default signature for replies and forwarded emails: 'Informal'
  Process out-of-office (OOF) auto replies
    Process common templates
      'Internal.docx' (OOF INI index #1)
        Check permissions
          Allows
            Common: Template is classified as common template valid for all mailboxes
          Denies
            No group match for current mailbox, checking current user specific denies
            Group: Mailbox and current user are not member of any denied group
            No email address match for current mailbox, checking current user specific denies
            Email address: Mailbox and current user do not have any denied email address
            Replacement variable: No deny replacement variable evaluates to true
          Use template as there is at least one allow and no deny
      'External.docx' (OOF INI index #2)
        Check permissions
          Allows
            Common: Template is classified as common template valid for all mailboxes
          Denies
            No group match for current mailbox, checking current user specific denies
            Group: Mailbox and current user are not member of any denied group
            No email address match for current mailbox, checking current user specific denies
            Email address: Mailbox and current user do not have any denied email address
            Replacement variable: No deny replacement variable evaluates to true
          Use template as there is at least one allow and no deny
    Process group specific templates
    Process mailbox specific templates
    Process replacementvariable specific templates
    Convert final OOF templates to HTM format
      Internal OOF message: 'Internal.docx'
        Create temporary file copy
        Replace non-picture variables
        Replace picture variables
        Export to HTM format
          Export high-res images
          Copy HTM image width and height attributes to style attribute
          Move CSS inline
          Remove empty CSS properties from style attributes
          Add marker to final HTM file
          Modify connected folder name
        Remove temporary files
      External OOF message: 'External.docx'
        Create temporary file copy
        Replace non-picture variables
        Replace picture variables
        Export to HTM format
          Export high-res images
          Copy HTM image width and height attributes to style attribute
          Move CSS inline
          Remove empty CSS properties from style attributes
          Add marker to final HTM file
          Modify connected folder name
        Remove temporary files
    Set out-of-office (OOF) auto replies

Mailbox alex.alien@galactic.test
  Mailbox is member of license group: True
  Extract SMTP addresses
  Calculate replacement variables
    'C:\Demo\Config\custom replacement variables.ps1'
    Export available images
  Download roaming signatures from Exchange Online
    Download not possible, Upload/set defaults possible, enable verbose output for details
  Process common templates
    'Informal.docx' (Signature INI index #1)
      Check permissions
        Allows
          Common: Template is classified as common template valid for all mailboxes
        Denies
          No group match for current mailbox, checking current user specific denies
          Group: Mailbox and current user are not member of any denied group
          No email address match for current mailbox, checking current user specific denies
          Email address: Mailbox and current user do not have any denied email address
          Replacement variable: No deny replacement variable evaluates to true
        Use template as there is at least one allow and no deny
      Outlook signature name: 'Informal'
      Signature INI index #1 already processed before with higher priority mailbox
        Not overwriting signature. Consider using parameter MailboxSpecificSignatureNames.
      Set signature as default for reply/forward messages (Outlook profile 'Outlook')
    'Formal.docx' (Signature INI index #2)
      Check permissions
        Allows
          Common: Template is classified as common template valid for all mailboxes
        Denies
          No group match for current mailbox, checking current user specific denies
          Group: Mailbox and current user are not member of any denied group
          No email address match for current mailbox, checking current user specific denies
          Email address: Mailbox and current user do not have any denied email address
          Replacement variable: No deny replacement variable evaluates to true
        Use template as there is at least one allow and no deny
      Outlook signature name: 'Formal'
      Signature INI index #2 already processed before with higher priority mailbox
        Not overwriting signature. Consider using parameter MailboxSpecificSignatureNames.
      Set signature as default for new messages (Outlook profile 'Outlook')
    'Test all default replacement variables.docx' (Signature INI index #3)
      Check permissions
        Allows
          Common: Template is classified as common template valid for all mailboxes
        Denies
          No group match for current mailbox, checking current user specific denies
          Group: Mailbox and current user are not member of any denied group
          No email address match for current mailbox, checking current user specific denies
          Email address: Mailbox and current user do not have any denied email address
          Replacement variable: No deny replacement variable evaluates to true
        Use template as there is at least one allow and no deny
      Outlook signature name: 'Test all default replacement variables'
      Signature INI index #3 already processed before with higher priority mailbox
        Not overwriting signature. Consider using parameter MailboxSpecificSignatureNames.
  Process group specific templates
  Process mailbox specific templates
    'Informal Delegate.docx' (Signature INI index #4)
      Check permissions
        Allows
          First email address match: alex.alien@galactic.test (current mailbox)
        Denies
          No group match for current mailbox, checking current user specific denies
          Group: Mailbox and current user are not member of any denied group
          No email address match for current mailbox, checking current user specific denies
          Email address: Mailbox and current user do not have any denied email address
          Replacement variable: No deny replacement variable evaluates to true
        Use template as there is at least one allow and no deny
      Outlook signature name: 'Informal Delegate alex.alien'
      Create temporary file copy
      Replace non-picture variables
      Replace picture variables
      Export to HTM format
        Export high-res images
        Copy HTM image width and height attributes to style attribute
        Move CSS inline
        Remove empty CSS properties from style attributes
        Add marker to final HTM file
        Modify connected folder name
      Export to TXT format
      Upload signature to Exchange Online as roaming signature
        Requirements are not met, see prior mailbox specific messages for details.
      Copy signature files to 'C:\Users\bobbybusy\AppData\Roaming\Microsoft\Signatures'
      Remove temporary files
      Set signature as default for reply/forward messages (Outlook profile 'Outlook')
    'Informal Shared.docx' (Signature INI index #5)
      Check permissions
        Allows
          No email address match for current mailbox, checking current user specific allows
          Email address: Mailbox and current user do not have any allowed email address
        Do not use template as there is no allow or at least one deny
    'Formal Shared.docx' (Signature INI index #6)
      Check permissions
        Allows
          No email address match for current mailbox, checking current user specific allows
          Email address: Mailbox and current user do not have any allowed email address
        Do not use template as there is no allow or at least one deny
    'Formal Delegate.docx' (Signature INI index #7)
      Check permissions
        Allows
          First email address match: alex.alien@galactic.test (current mailbox)
        Denies
          No group match for current mailbox, checking current user specific denies
          Group: Mailbox and current user are not member of any denied group
          No email address match for current mailbox, checking current user specific denies
          Email address: Mailbox and current user do not have any denied email address
          Replacement variable: No deny replacement variable evaluates to true
        Use template as there is at least one allow and no deny
      Outlook signature name: 'Formal Delegate alex.alien'
      Create temporary file copy
      Replace non-picture variables
      Replace picture variables
      Export to HTM format
        Export high-res images
        Copy HTM image width and height attributes to style attribute
        Move CSS inline
        Remove empty CSS properties from style attributes
        Add marker to final HTM file
        Modify connected folder name
      Export to TXT format
      Upload signature to Exchange Online as roaming signature
        Requirements are not met, see prior mailbox specific messages for details.
      Copy signature files to 'C:\Users\bobbybusy\AppData\Roaming\Microsoft\Signatures'
      Remove temporary files
      Set signature as default for new messages (Outlook profile 'Outlook')
  Process replacementvariable specific templates

Mailbox execboard.office@galactic.test
  Mailbox is member of license group: True
  Extract SMTP addresses
  Calculate replacement variables
    'C:\Demo\Config\custom replacement variables.ps1'
    Export available images
  Download roaming signatures from Exchange Online
    Download not possible, Upload/set defaults possible, enable verbose output for details
  Process common templates
    'Informal.docx' (Signature INI index #1)
      Check permissions
        Allows
          Common: Template is classified as common template valid for all mailboxes
        Denies
          No group match for current mailbox, checking current user specific denies
          Group: Mailbox and current user are not member of any denied group
          No email address match for current mailbox, checking current user specific denies
          Email address: Mailbox and current user do not have any denied email address
          Replacement variable: No deny replacement variable evaluates to true
        Use template as there is at least one allow and no deny
      Outlook signature name: 'Informal'
      Signature INI index #1 already processed before with higher priority mailbox
        Not overwriting signature. Consider using parameter MailboxSpecificSignatureNames.
    'Formal.docx' (Signature INI index #2)
      Check permissions
        Allows
          Common: Template is classified as common template valid for all mailboxes
        Denies
          No group match for current mailbox, checking current user specific denies
          Group: Mailbox and current user are not member of any denied group
          No email address match for current mailbox, checking current user specific denies
          Email address: Mailbox and current user do not have any denied email address
          Replacement variable: No deny replacement variable evaluates to true
        Use template as there is at least one allow and no deny
      Outlook signature name: 'Formal'
      Signature INI index #2 already processed before with higher priority mailbox
        Not overwriting signature. Consider using parameter MailboxSpecificSignatureNames.
    'Test all default replacement variables.docx' (Signature INI index #3)
      Check permissions
        Allows
          Common: Template is classified as common template valid for all mailboxes
        Denies
          No group match for current mailbox, checking current user specific denies
          Group: Mailbox and current user are not member of any denied group
          No email address match for current mailbox, checking current user specific denies
          Email address: Mailbox and current user do not have any denied email address
          Replacement variable: No deny replacement variable evaluates to true
        Use template as there is at least one allow and no deny
      Outlook signature name: 'Test all default replacement variables'
      Signature INI index #3 already processed before with higher priority mailbox
        Not overwriting signature. Consider using parameter MailboxSpecificSignatureNames.
  Process group specific templates
  Process mailbox specific templates
    'Informal Delegate.docx' (Signature INI index #4)
      Check permissions
        Allows
          No email address match for current mailbox, checking current user specific allows
          Email address: Mailbox and current user do not have any allowed email address
        Do not use template as there is no allow or at least one deny
    'Informal Shared.docx' (Signature INI index #5)
      Check permissions
        Allows
          First email address match: executiveboard.office@galactic.test (current mailbox)
        Denies
          No group match for current mailbox, checking current user specific denies
          Group: Mailbox and current user are not member of any denied group
          No email address match for current mailbox, checking current user specific denies
          Email address: Mailbox and current user do not have any denied email address
          Replacement variable: No deny replacement variable evaluates to true
        Use template as there is at least one allow and no deny
      Outlook signature name: 'Informal executiveboard.office'
      Create temporary file copy
      Replace non-picture variables
      Replace picture variables
      Export to HTM format
        Export high-res images
        Copy HTM image width and height attributes to style attribute
        Move CSS inline
        Remove empty CSS properties from style attributes
        Add marker to final HTM file
        Modify connected folder name
      Export to TXT format
      Upload signature to Exchange Online as roaming signature
        Requirements are not met, see prior mailbox specific messages for details.
      Copy signature files to 'C:\Users\bobbybusy\AppData\Roaming\Microsoft\Signatures'
      Remove temporary files
    'Formal Shared.docx' (Signature INI index #6)
      Check permissions
        Allows
          First email address match: executiveboard.office@galactic.test (current mailbox)
        Denies
          No group match for current mailbox, checking current user specific denies
          Group: Mailbox and current user are not member of any denied group
          No email address match for current mailbox, checking current user specific denies
          Email address: Mailbox and current user do not have any denied email address
          Replacement variable: No deny replacement variable evaluates to true
        Use template as there is at least one allow and no deny
      Outlook signature name: 'Formal executiveboard.office'
      Create temporary file copy
      Replace non-picture variables
      Replace picture variables
      Export to HTM format
        Export high-res images
        Copy HTM image width and height attributes to style attribute
        Move CSS inline
        Remove empty CSS properties from style attributes
        Add marker to final HTM file
        Modify connected folder name
      Export to TXT format
      Upload signature to Exchange Online as roaming signature
        Requirements are not met, see prior mailbox specific messages for details.
      Copy signature files to 'C:\Users\bobbybusy\AppData\Roaming\Microsoft\Signatures'
      Remove temporary files
    'Formal Delegate.docx' (Signature INI index #7)
      Check permissions
        Allows
          No email address match for current mailbox, checking current user specific allows
          Email address: Mailbox and current user do not have any allowed email address
        Do not use template as there is no allow or at least one deny
  Process replacementvariable specific templates

Remove old signatures created by this script, which are no longer centrally available

Remove user-created signatures
  Parameter 'DeleteUserCreatedSignatures' is not enabled, skipping task.

Upload local signatures to Exchange Online as roaming signatures for current user
  Delete all signatures in the cloud
  Upload local signatures to the cloud
    May take longer if images are not already embedded
    'Formal' -> 'Formal'
    'Formal Delegate alex.alien' -> 'Formal Delegate alex.alien'
    'Formal executiveboard.office' -> 'Formal executiveboard.office'
    'Informal' -> 'Informal'
    'Informal Delegate alex.alien' -> 'Informal Delegate alex.alien'
    'Informal executiveboard.office' -> 'Informal executiveboard.office'
    'Test all default replacement variables' -> 'Test all default replacement variables'

Prepare data for Outlook add-in
  Required because Microsoft actively blocks Outlook add-ins from using roaming signatures
  Common preparations
  Benefactor Circle specific preparations
    Implement Benefactor Circle specific preparations

Create 'My signatures, powered by Set-OutlookSignatures Benefactor Circle' email draft for current user

Copy signatures to AdditionalSignaturePath
  'C:\Users\bobbybusy\Documents\Outlook Signatures'
  Embedding images

Clean-up

Log file
  'C:\Users\bobbybusy\AppData\Local\Set-OutlookSignatures\Logs\Set-OutlookSignatures_Log.txt'

Exit code
  Code: 0
  Description: Success.

End Set-OutlookSignatures

 

Sie finden nun drei neue Signaturen in Classic Outlook for Windows (oder dem Ausgabeordner des Simulationsmodus), die auf den integrierten Beispielvorlagen und den Attributen Ihres eigenen Benutzers basieren:

  • "Formal" ist ideal für neue E-Mails an externe Empfänger.
  • "Informal" eignet sich hervorragend für Antworten, Weiterleitungen und interne E-Mails.
  • "Test all default replacement variables" bietet Ihnen einen Überblick über die integrierten Platzhalter und einen Einblick in die Möglichkeiten bei Bildern und Bannern sowie bei der Formatierung von Telefonnummern und Adressen. Es handelt sich um eine Vorlagen-Demonstration, die alle Standard-Ersetzungsvariablen sowie mehrere Benutzerprofilbilder enthält, sodass die Umwandlung in eine Signatur länger dauert als bei den anderen Beispielvorlagen.

Die mitgelieferte Beispielkonfiguration enthält weitere Signaturbeispiele, beim ersten Durchlauf werden jedoch in der Regel nur diese drei erstellt. Andere Beispielsignaturen sind an bestimmte Gruppen, Postfächer, E-Mail-Adressen oder Delegationsszenarien gebunden und werden nur erstellt, wenn der aktuelle Benutzer- und Postfachkontext diesen Regeln entspricht.


🎉

Schnellstart abgeschlossen!

Sie haben nun Ihre ersten Signaturen erstellt und Ihre Umgebung ist bereit für individuelle Anpassungen.

In den folgenden Abschnitten erfahren Sie, was die mitgelieferten Beispielvorlagen erstellen und wie Sie Ihre eigenen Vorlagen für Ihre Organisation verwenden können.


🔗Signaturen aus den enthaltenen Mustervorlagen

Die folgenden Beispiele sind echte HTML-Signaturdateien, die anhand der mitgelieferten Mustervorlagen und unserer Demo-Umgebung erstellt wurden.

Wenn Sie dieselben Vorlagen in Ihrer eigenen Umgebung verwenden, basieren die Signaturinhalte auf Ihren Testpostfächern: Namen, Berufsbezeichnungen, Profilbilder, E-Mail-Adressen, Telefonnummern, Postanschriften und Informationen zur Befugnisübertragung.

Nehmen wir an, Herr Bobby Busy arbeitet als Sekretär im Vorstandsbüro von Galactic Experiences. Er besitzt ein eigenes persönliches Postfach, sendet E-Mails im Namen der CEO, Frau Alex Alien, und kann vom freigegeben Postfach des Vorstandsbüros (Exec Board Office) schicken.

Die Unternehmensrichtlinien schreiben vor, dass Signaturen nicht nur Informationen über das sendende Postfach enthalten müssen, sondern auch über den tatsächlichen Absender. Mit den standardmäßigen Mustervorlagen und der Konfiguration entstehen daraus automatisch folgende Varianten:

Warum wurden im Schnellstart nur drei Signaturen erstellt?

Die mitgelieferte Beispielkonfiguration enthält mehr Beispiele, als bei einem typischen ersten Durchlauf erstellt werden. Einige Beispielsignaturen sind an bestimmte Gruppen, Postfächer, E-Mail-Adressen oder Delegierungsszenarien gebunden. Sie werden nur erstellt, wenn der aktuelle Benutzer- und Postfachkontext diesen Regeln entspricht. Sehen Sie sich dies im INI-Editor an, um einfache Erklärungen zu den einzelnen Einstellungen zu erhalten.

🔗Anpassen

Nachdem Sie nun gesehen haben, was die mitgelieferten Beispiele erzeugen können, ist es an der Zeit, Ihre eigenen Vorlagen zu verwenden.

Kopieren Sie .\sample templates in einen neuen Ordner und beginnen Sie mit der Bearbeitung. Wir empfehlen, unsere Empfehlung zur Ordnerstruktur zu befolgen, um zukünftige Aktualisierungen zu vereinfachen.

Legen Sie in der INI-Datei Vorlagenzuweisungen fest, um zu steuern, wer welche Signatur erhält. Weisen Sie Vorlagen Postfächern, Gruppen, E-Mail-Adressen oder Attributen zu, generieren Sie mehrere Varianten aus einer Vorlage und definieren Sie Standardwerte für neue E-Mails, Antworten und Weiterleitungen.

Die Beispieldatei .\sample templates\Signatures DOCX\_Signatures.ini veranschaulicht Standard- und erweiterte Zuweisungsszenarien, darunter abgelehnte Zuweisungen, die Wiederverwendung von Vorlagen, Send-As-/Send-on-Behalf-/Chef-Sekretär-Konstellationen sowie zeitbasierte Regeln. Sehen Sie sich die Beispielkonfiguration im INI-Editor an, um einfache Erläuterungen zu den einzelnen Einstellungen zu erhalten.

Verweisen Sie das Skript mithilfe der folgenden Befehle auf Ihre neuen Dateien:

[] -SignatureTemplatePath "C:\Signatures\Templates" -SignatureIniFile "C:\Signatures\Templates\_Signatures.ini"

Verwenden Sie HTML-Vorlagen? Fügen Sie den Parameter UseHtmTemplates hinzu: -UseHtmTemplates true

Die folgenden zusätzlichen Informationen könnten für Sie interessant sein:

🔗Optional: Benefactor Circle Add-on

Für viele Unternehmen reicht das freie und quelloffene Set-OutlookSignatures völlig aus. Wenn Ihre Organisation zusätzliche Automatisierungsfunktionen, eine breitere Client-Unterstützung und zentralisierte Verwaltungsfunktionen benötigt, erweitert das Benefactor Circle Add-on Set-OutlookSignatures um großartige zusätzliche Möglichkeiten.

Es ermöglicht erweiterte Szenarien wie plattformübergreifende Outlook-Unterstützung, zentralisierte Bereitstellung ohne Software auf jedem einzelnen Gerät, zeitgesteuerte Kampagnen, die Unterstützung gemeinsamer und delegierter Postfächer, Abwesenheitsnotizen, die Bereinigung von Signaturen sowie Unterstützung für Clients von Drittanbietern.

Entdecken Sie das Add-on, vereinbaren Sie eine Demo oder starten Sie mit einer 14-tägigen Testversion.

Die Benefactor Circle Lizenz finanziert die Open-Source-Entwicklung und stellt sicher, dass die Core-Engine für die weltweite Community kostenlos und Peer-Review-fähig bleibt.