Sådan får du "Send til postmodtager" tilbage i menuen

Sådan får du "Send til postmodtager" tilbage i menuen

Har du lagt mærke til, at "Send til postmodtager" eller "Send to Mail Recipient" er forsvundet fra din Send til-menu, når du højreklikker på en fil? Det er en irriterende lille fejl, som heldigvis er nem at fixe.

Problemet opstår typisk, om den forkorte-fil, der styrer funktionen, er blevet slettet eller beskadiget. Her er en simpel guide til at genoprette den.

Løsningen: Opret en ny "Send til"-genvej

Alt du skal gøre er at oprette en specifik fil i din SendTo-mappe.

  1. Åbn SendTo-mappen

    • Åbn Udforsker (Windows-tast + E).

    • Indtast følgende i adresselinjen og tryk på Enter:

      text
      %appdata%\microsoft\windows\sendto
  2. Opret en ny fil

    • Højreklik på et tomt område i mappen.

    • Hold musen over Ny og vælg Tekstdokument.

    • En ny fil ved navn Nyt tekstdokument.txt vil blive oprettet.

  3. Omdøb filen korrekt

    • Klik én gang på filen for at vælge den.

    • Højreklik og vælg Omdøb (eller bare tryk på F2).

    • Slet det eksistere navn og skriv i stedet:

      text
      MailRecipient.MAPIMail

      ⚠️ Vigtigt: Sørg for, at filen ikke slutter på .txt

Vigtig note: Sørg for at se filtypenavne

Hvis du ikke kan se filtypenavne (som .txt), vil Windows skjule dem for dig, og du risikerer at oprette en fil, der hedder MailRecipient.MAPIMail.txt – hvilket ikke vil virke.

Sådan slår du dem til:

  • Gå til fanen Vis i topmenuen i Udforsker.

  • Sæt flueben ud for Filtypenavne.

https://i.imgur.com/8X9DzZl.png

Nu kan du sikre dig, at din nye fil kun hedder MailRecipient.MAPIMail uden et .txt på slutningen. Tryk Enter for at gemme navnet. Hvis du får en advarsel om at ændre filtypen, skal du bekræfte dette.

Afsluttende tip

Når du nu højreklikker på en fil, skulle "Send til postmodtager" være tilbage i din menu!

For at det skal virke: Sørg for, at din standard e-mail-klient (f.eks. Outlook, Windows Mail eller Thunderbird) er sat op korrekt. Når du bruger funktionen, skal den åbne et nyt e-mail-vindue med filen vedhæftet.

Er der andre genveje, der er forsvundet? Lad mig høre det i kommentarerne

Powershell Outlook Signature Local AD

powershell
<#
.SYNOPSIS
    Generate Outlook Signature with data from Local AD
.DESCRIPTION
    This script generates Outlook signatures automatically using Active Directory data.
    It should be run as a logon script. For testing purposes, you can run it with initials.
.NOTES
    Author: Kasper Lundgaard Christensen - TODO-IT
    Date: 01-04-2024
    Version: 1.0
#>

# Parameters
param(
    [string]$UserOverwrite
)

# Getting Active Directory information for current user
$user = (([adsisearcher]"(&(objectCategory=User)(samaccountname=$env:username))").FindOne().Properties)

# Overwrite user for testing purposes
if ($UserOverwrite) {
    $user = (([adsisearcher]"(&(objectCategory=User)(samaccountname=$UserOverwrite))").FindOne().Properties)
    Write-Host "Testing with user: $UserOverwrite"
}

# If the user is not found in Active Directory exit the script
if (!$user) {
    Write-Error "User not found in Active Directory"
    exit 1
}

# Signature configuration
$folderLocation = $Env:APPDATA + '\Microsoft\Signatures'
$filename = "AD Signature"
$file = "$folderLocation\$filename"

# Company information
$companyName = "Company Name"
$logo = "Logo link"
$logoURL = "Logo URL"
$companyPhone = "Phone Number"
$slogan_1 = "Slogan"
$considerPrint = "Please consider the environment before printing this email"

# Create signatures folder if it doesn't exist
if (!(Test-Path -Path $folderLocation)) {
    New-Item -ItemType Directory -Path $folderLocation -Force
}

# Get user properties from Active Directory
$userProperties = @{
    DisplayName  = if ($user.name.Count -gt 0) { $user.name[0] } else { $null }
    JobTitle     = if ($user.title.Count -gt 0) { $user.title[0] } else { $null }
    Email        = if ($user.mail.Count -gt 0) { $user.mail[0] } else { $null }
    Company      = if ($user.company.Count -gt 0) { $user.company[0] } else { $null }
    Mobile       = if ($user.mobile.Count -gt 0) { $user.mobile[0] } else { $null }
    DirectDial   = if ($user.homephone.Count -gt 0) { $user.homephone[0] } else { $null }
    Telephone    = if ($user.telephonenumber.Count -gt 0) { $user.telephonenumber[0] } else { $null }
    Website      = if ($user.wwwhomepage.Count -gt 0) { $user.wwwhomepage[0] } else { $null }
    PoBox        = if ($user.postofficebox.Count -gt 0) { $user.postofficebox[0] } else { $null }
    Office       = if ($user.physicaldeliveryofficename.Count -gt 0) { $user.physicaldeliveryofficename[0] } else { $null }
    Street       = if ($user.streetaddress.Count -gt 0) { $user.streetaddress[0] } else { $null }
    City         = if ($user.l.Count -gt 0) { $user.l[0] } else { $null }
    State        = if ($user.st.Count -gt 0) { $user.st[0] } else { $null }
    ZipCode      = if ($user.postalcode.Count -gt 0) { $user.postalcode[0] } else { $null }
}

# Group Check for custom logo
$Group = [ADSI]"LDAP://CN=Signature_CompanyLogo,OU=Signature,OU=Security Groups,OU=Users,DC=contoso,DC=dk"
$Group.Member | ForEach-Object {
    if ($user.distinguishedname -match $_) {
        $logo = "Alternative Logo Link"
    }
}

# CSS Styles
$style = @"
<style>
    p, table, td, tr, a, span {
        font-family: Calibri, Helvetica, sans-serif;
        font-size: 11pt;
        color: #000000;
    }

    span.blue {
        color: #000000;
    }

    table {
        margin: 0;
        padding: 0;
    }

    a {
        text-decoration: none;
    }

    hr {
        border: none;
        height: 1px;
        background-color: #000000;
        color: #000000;
        width: 700px;
    }

    .Contact {
        width: 150px;
    }

    table.main {
        /* Main table styles */
    }
</style>
"@

# HTML Signature
$htmlSignature = @"
<span>Med venlig hilsen/Kind regards/Mit freundlichen Grüssen</span><br />
$(if ($userProperties.DisplayName) { "<span><b>$($userProperties.DisplayName)</b></span><br />" })
$(if ($userProperties.JobTitle) { "<span>$($userProperties.JobTitle)</span><br /><br />" })

<p>
<table class='main'>
    <tr>
        <td colspan='2' style='padding-right: 75px;'>
            $(if ($logo) { "<a href='$logoURL'><img src='$logo' /></a>" })
        </td>
    </tr>
    <tr>
        <table>
            $(if ($userProperties.Telephone) { "<tr><td class='Contact'>Hovednummer: </td><td><a href='tel:$companyPhone'>$companyPhone</a></td></tr>" })
            $(if ($userProperties.Mobile) { "<tr><td class='Contact'>Mobil: </td><td><a href='tel:+45 $($userProperties.Mobile)'>+45 $($userProperties.Mobile)</a></td></tr>" })
            $(if ($userProperties.Email) { "<tr><td class='Contact'>Email: </td><td><a href='mailto:$($userProperties.Email)'>$($userProperties.Email)</a></td></tr>" })
            $(if ($userProperties.Website) { "<tr><td class='Contact'>Website: </td><td><a href='https://$($userProperties.Website)'>$($userProperties.Website)</a></td></tr>" })
        </table>
        <table>
            <tr>
                <br/>
                <br/>
                <br/>
            </tr>
            <tr>
                <td colspan='2' style='padding-bottom: 10px;'>
                    $(if ($companyName) { "<b>$companyName</b><br/>" })
                    $(if ($userProperties.Street) { "$($userProperties.Street)<br/>" })
                    $(if ($userProperties.ZipCode) { "$($userProperties.ZipCode) " })
                    $(if ($userProperties.City) { $userProperties.City })
                </td>
            </tr>
            <tr>
                <td colspan='2'>
                    <p>$slogan_1</p>
                </td>
            </tr>
        </table>
    </tr>
</table>
</p>
<br />
"@

# Save HTML signature
$style + $htmlSignature | Out-File "$file.htm" -Encoding UTF8

# Text signature for plain text emails
$textSignature = @"
Med venlig hilsen/Kind regards/Mit freundlichen Grüssen
$(if ($userProperties.DisplayName) { $userProperties.DisplayName })
$(if ($userProperties.JobTitle) { $userProperties.JobTitle })

$(if ($userProperties.Telephone) { "Hovednummer: $companyPhone" })
$(if ($userProperties.Mobile) { "Mobil: +45 $($userProperties.Mobile)" })
$(if ($userProperties.Email) { "Email: $($userProperties.Email)" })

$(if ($companyName) { $companyName })
$(if ($userProperties.Street) { $userProperties.Street })
$(if ($userProperties.ZipCode) { $userProperties.ZipCode }) $(if ($userProperties.City) { $userProperties.City })
"@

# Save text signature
$textSignature | Out-File "$file.txt" -Encoding Default

# Configure Outlook signatures in registry
$outlookVersions = @(
    @{ Version = "16.0"; Path = "HKCU:\Software\Microsoft\Office\16.0" },
    @{ Version = "14.0"; Path = "HKCU:\Software\Microsoft\Office\14.0" }
)

foreach ($outlook in $outlookVersions) {
    $commonPath = $outlook.Path + "\Common"
    
    if (Test-Path $commonPath) {
        # Set signature path
        if (Test-Path "$commonPath\General") {
            Set-ItemProperty -Path "$commonPath\General" -Name "Signatures" -Value "Signatures" -Force
        }
        
        # Set default signatures
        if (Test-Path "$commonPath\MailSettings") {
            Set-ItemProperty -Path "$commonPath\MailSettings" -Name "NewSignature" -Value $filename -Force
            Set-ItemProperty -Path "$commonPath\MailSettings" -Name "ReplySignature" -Value $filename -Force
        }
        
        # Remove First-Run flag
        $setupPath = $outlook.Path + "\Outlook\Setup"
        if (Test-Path $setupPath) {
            Remove-ItemProperty -Path $setupPath -Name "First-Run" -ErrorAction SilentlyContinue
        }
    }
}

Write-Host "Signature generated successfully for $($userProperties.DisplayName)"

Brugsanvisning:

Normal brug (som logonscript):

  • Deploy scriptet som logonscript via Group Policy

Test kørsel:

powershell
.\Script.ps1 -UserOverwrite "Initialer"

Funktioner:

  • Henter brugerinformation automatisk fra Active Directory

  • Genererer både HTML og tekst-version af signaturen

  • Understøtter flere Outlook-versioner (2010, 2016, Office365)

  • Mulighed for at teste med specifikke brugere

  • Dynamisk logo baseret på AD-gruppemedlemskab

  • Automatisk opsætning af Outlook-signatur

Bemærk: Husk at tilpasse AD-stier, company information og logo-stier til din organisation før brug.

Sådan forbinder du sikkert til Exchange Online PowerShell

Sådan forbinder du til Exchange Online PowerShell - Den komplette guide

Er du træt af at rode med Exchange Online PowerShell-forbindelser? Skal du sikre dig, at dine scripts er opdaterede og sikre? Så er du kommet til det rette sted!

🚀 Kom i gang på få minutter

Forbindelse til Exchange Online er blevet nemmere og mere sikker end nogensinde før. Her er hvordan du kommer i gang:

Installation af modulet

powershell
# Installer modulet (kun første gang)
Install-Module -Name ExchangeOnlineManagement

# Opdater til nyeste version (anbefales)
Update-Module -Name ExchangeOnlineManagement

Grundlæggende forbindelse

powershell
# Simpel forbindelse - åbner login-vindue
Connect-ExchangeOnline

# Med specifik bruger
Connect-ExchangeOnline -UserPrincipalName "[email protected]"

💡 Eksempler fra den virkelige verden

Her er hvordan du bruger forbindelsen i praksis:

powershell
# Tjek mailboks-størrelse
Get-MailboxStatistics -Identity "[email protected]" | 
Select-Object DisplayName, TotalItemSize

# Se brugeres mailbokse
Get-Mailbox -ResultSize Unlimited | 
Where-Object {$_.UserPrincipalName -like "*@firma.dk"}

🔒 Sikkerhedsbestemmelser du skal kende

powershell
# Vigtigt: Altid log ud efter brug!
Disconnect-ExchangeOnline -Confirm:$false

# Til automatisering - brug certificat-baseret auth
Connect-ExchangeOnline -CertificateThumbprint "XYZ123" -AppId "GUID" -Organization "contoso.onmicrosoft.com"

🛠️ Troubleshooting tips

Fejler forbindelsen? Prøv disse løsninger:

  • Kør Import-Module ExchangeOnlineManagement

  • Tjek at du har nyeste PowerShell-version

  • Prøv at køre som administrator

  • Sikr internetforbindelse til Office 365 endpoints

Husk at tjekke din session:

powershell
# Bekræft at du er forbundet
Get-ConnectionInformation

# Se tilgængelige kommandoer
Get-Command -Module ExchangeOnlineManagement

📈 Pro-tips til avanceret brug

  • Brug -ShowProgress $true ved store datasæt

  • -Verbose giver detaljeret output til fejlfinding

  • Gem dine scripts i VS Code med syntax highlighting

  • Brug variabler til gentagne elementer

🎯 Opsummering

Exchange Online PowerShell er et kraftfuldt værktøj, og med de rigtige forbindelsesmetoder får du:

  • Hurtigere arbejdsgang - automatisér gentagne opgaver

  • Bedre oversight - få fuld kontrol over din Exchange-miljø

  • Øget sikkerhed - moderne authentication som standard

Klar til at automatisere dine Exchange-opgaver? Hvad vil du gerne optimere i din hverdag? Del dine spørgsmål og erfaringer nedenfor! 👇

Har du brug for hjælp til specifikke scenarier? Spørg away - vi hjælper gerne!

Velkommen til vores IT-blog: Tips, tricks og løsninger til dine IT-udfordringer

Hej alle sammen!

Det er med stor glæde, at jeg byder jer velkommen til vores nye IT-blog. Her vil vi dele værdifulde tips, tricks og løsninger til alle dine IT-udfordringer. Uanset om du er en erfaren IT-professionel eller en nybegynder, håber vi at kunne tilbyde indsigtsfuldt indhold, der vil hjælpe dig med at navigere i den komplekse verden af teknologi.

Hvad kan du forvente?

På vores blog vil vi dække en bred vifte af emner relateret til IT-verdenen. Her er nogle af de emner, du kan se frem til:

  1. Tips og tricks: Vi vil dele smarte tricks og genveje, der kan spare dig tid og frustration i din daglige IT-brug. Uanset om det handler om at øge din produktivitet, organisere dine filer eller sikre dine enheder, vil vores tips hjælpe dig med at få mest muligt ud af din teknologi.

  2. Konkrete løsninger: Står du over for specifikke IT-udfordringer? Vores blog vil tilbyde konkrete løsninger på almindelige problemer, lige fra softwarefejl til netværksproblemer. Vi vil guide dig gennem trin-for-trin-processer, der hjælper dig med at løse dine problemer effektivt.

  3. Opdateringer og trends: IT-verdenen udvikler sig konstant, og det kan være svært at følge med i de seneste trends og opdateringer. Vi holder dig opdateret med relevant information om nye teknologier, sikkerhedsopdateringer og andre vigtige udviklinger, så du altid er på forkant med udviklingen.

Din deltagelse er vigtig!

Vi ønsker, at vores blog skal være en interaktiv platform, hvor vi kan dele viden og erfaringer med hinanden. Derfor opfordrer vi dig til at deltage aktivt ved at kommentere, stille spørgsmål og dele dine egne tips og erfaringer. Sammen kan vi skabe et dynamisk fællesskab, der hjælper hinanden med at løse IT-udfordringer.

Bliv opdateret:

For at sikre, at du ikke går glip af vores seneste indlæg og opdateringer, kan du tilmelde dig vores nyhedsbrev eller følge os på sociale medier. På den måde kan du altid være den første til at få adgang til vores friske indhold.

Tak fordi du læser med, og vi glæder os til at dele vores viden og erfaringer med dig! Lad os sammen navigere gennem IT-landskabet og finde løsninger på dine udfordringer.

Har du et specifikt emne, du gerne vil have dækket? Eller har du spørgsmål eller kommentarer til vores blog? Tøv ikke med at kontakte os - vi er her for at hjælpe!

Venlig hilsen,

Todo-It