{"id":838,"date":"2026-11-04T14:03:49","date_gmt":"2026-11-04T13:03:49","guid":{"rendered":"https:\/\/van-daag.nl\/?p=838"},"modified":"2026-11-04T14:03:49","modified_gmt":"2026-11-04T13:03:49","slug":"add-dymo-printer-in-company-portal","status":"publish","type":"post","link":"https:\/\/van-daag.nl\/?p=838","title":{"rendered":"Add Dymo Printer in company portal"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Company wants to deploy Dymo LabelWriter 550 Turbo on a location. and wants to push the software to all systems on that location.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We have automated software updates in Intune, but Dymo Connect automatic checks for new version. Even is user is not local admin. This was my first problem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Second issue to make it beautiful Remediation was not active.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So First, make Dymo Connect available to the system (Not push)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">and 2nd I made a script and detection script for an win32 app installer.<br>In this script I put the local firewall to block dymo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here is the Dymo Install Script.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">###########################################################\n#### Script Created by Daag van der Meer            #######\n#### To rollout Dymo Label Printer                  #######\n###########################################################\n\nParam(\n    [switch]$Install,\n    [switch]$Uninstall\n)\n\n$PrinterIP   = \"&lt;LOCALIP>\"\n$PrinterName = \"&lt;PrinterName>\"\n$PortName    = \"Port+$PrinterName\"\n\n$DriverName  = \"DYMO LabelWriter 550 Turbo\"\n\n$FirewallRuleWebAPI = \"Block DYMO WebAPI\"\n$FirewallRuleUpdate = \"Block DYMO Update\"\n\n$WebAPIExe = \"C:\\Program Files (x86)\\DYMO\\DYMO Connect\\dymo.webapi.win.host.exe\"\n$UpdateExe = \"C:\\Program Files (x86)\\DYMO\\DYMO Connect\\DYMOconnect.exe\"\n\n# Logging\n$LogFolder = \"C:\\ProgramData\\Intune\\&lt;Company>\"\n$LogFile   = Join-Path $LogFolder \"$PrinterName.log\"\n\nNew-Item -Path $LogFolder -ItemType Directory -Force | Out-Null\n\ntry {\n    Start-Transcript -Path $LogFile -Force | Out-Null\n}\ncatch {\n}\n\n###########################################################\n# INSTALL\n###########################################################\nif ($Install) {\n\n    Write-Output \"===== INSTALL START $PrinterName =====\"\n    Write-Output \"Datum: $(Get-Date)\"\n    Write-Output \"Printer IP  : $PrinterIP\"\n    Write-Output \"Printer Name: $PrinterName\"\n\n    # Printer Port\n    if (-not (Get-PrinterPort -Name $PortName -ErrorAction SilentlyContinue)) {\n\n        Write-Output \"Creating printer port $PortName\"\n\n        Add-PrinterPort `\n            -Name $PortName `\n            -PrinterHostAddress $PrinterIP\n    }\n    else {\n        Write-Output \"Printer port already exists\"\n    }\n\n    # Driver\n    if (-not (Get-PrinterDriver -Name $DriverName -ErrorAction SilentlyContinue)) {\n\n        Write-Output \"Installing printer driver\"\n\n        Add-PrinterDriver -Name $DriverName\n\n        Start-Sleep -Seconds 5\n    }\n    else {\n        Write-Output \"Printer driver already exists\"\n    }\n\n    # Printer\n    if (-not (Get-Printer -Name $PrinterName -ErrorAction SilentlyContinue)) {\n\n        Write-Output \"Creating printer\"\n\n        Add-Printer `\n            -Name $PrinterName `\n            -DriverName $DriverName `\n            -PortName $PortName\n    }\n    else {\n        Write-Output \"Printer already exists\"\n    }\n\n    # Firewall WebAPI\n    if (-not (Get-NetFirewallRule -DisplayName $FirewallRuleWebAPI -ErrorAction SilentlyContinue)) {\n\n        Write-Output \"Creating firewall rule: $FirewallRuleWebAPI\"\n\n        New-NetFirewallRule `\n            -DisplayName $FirewallRuleWebAPI `\n            -Direction Outbound `\n            -Program $WebAPIExe `\n            -Action Block\n    }\n    else {\n        Write-Output \"Firewall rule already exists: $FirewallRuleWebAPI\"\n    }\n\n    # Firewall Update\n    if (-not (Get-NetFirewallRule -DisplayName $FirewallRuleUpdate -ErrorAction SilentlyContinue)) {\n\n        Write-Output \"Creating firewall rule: $FirewallRuleUpdate\"\n\n        New-NetFirewallRule `\n            -DisplayName $FirewallRuleUpdate `\n            -Direction Outbound `\n            -Program $UpdateExe `\n            -Action Block\n    }\n    else {\n        Write-Output \"Firewall rule already exists: $FirewallRuleUpdate\"\n    }\n\n    Write-Output \"Installation completed\"\n\n    try {\n        Stop-Transcript | Out-Null\n    }\n    catch {\n    }\n\n    exit 0\n}\n\n###########################################################\n# UNINSTALL\n###########################################################\nif ($Uninstall) {\n\n    Write-Output \"===== UNINSTALL START $PrinterName =====\"\n    Write-Output \"Datum: $(Get-Date)\"\n\n    # Printer\n    if (Get-Printer -Name $PrinterName -ErrorAction SilentlyContinue) {\n\n        Write-Output \"Removing printer\"\n\n        Remove-Printer -Name $PrinterName\n    }\n\n    # Port\n    if (Get-PrinterPort -Name $PortName -ErrorAction SilentlyContinue) {\n\n        Write-Output \"Removing printer port\"\n\n        Remove-PrinterPort -Name $PortName\n    }\n\n    # Firewall rules\n    if (Get-NetFirewallRule -DisplayName $FirewallRuleWebAPI -ErrorAction SilentlyContinue) {\n\n        Write-Output \"Removing firewall rule: $FirewallRuleWebAPI\"\n\n        Remove-NetFirewallRule -DisplayName $FirewallRuleWebAPI\n    }\n\n    if (Get-NetFirewallRule -DisplayName $FirewallRuleUpdate -ErrorAction SilentlyContinue) {\n\n        Write-Output \"Removing firewall rule: $FirewallRuleUpdate\"\n\n        Remove-NetFirewallRule -DisplayName $FirewallRuleUpdate\n    }\n\n    Write-Output \"Uninstall completed\"\n\n    try {\n        Stop-Transcript | Out-Null\n    }\n    catch {\n    }\n\n    exit 0\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Here is the Detection Script.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">$Printer  = Get-Printer -Name \"\" -ErrorAction SilentlyContinue\n$Port     = Get-PrinterPort -Name \"Port&lt;PRINTERNAME>\" -ErrorAction SilentlyContinue\n$WebAPI   = Get-NetFirewallRule -DisplayName \"Block DYMO WebAPI\" -ErrorAction SilentlyContinue\n$Update   = Get-NetFirewallRule -DisplayName \"Block DYMO Update\" -ErrorAction SilentlyContinue\n\nif ($Printer -and $Port -and $WebAPI -and $Update)\n{\n    Write-Output \"&lt;PRINTERNAME>detected\"\n    exit 0\n}\n\nWrite-Output \"PRINTERNAME not detected\"\nexit 1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Here is also AI generated Image That I made for in company portal<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/van-daag.nl\/wp-content\/uploads\/2026\/11\/Dymo.png?w=640&#038;ssl=1\" alt=\"\" class=\"wp-image-840\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Happy Testing and using it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Company wants to deploy Dymo LabelWriter 550 Turbo on a location. and wants to push the software to all systems on that location. We have automated software updates in Intune, but Dymo Connect automatic checks for new version. Even is user is not local admin. This was my first problem. Second issue to make it [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[48,6,11],"tags":[],"class_list":["post-838","post","type-post","status-publish","format-standard","hentry","category-intune","category-microsoft","category-powershell-script"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/van-daag.nl\/index.php?rest_route=\/wp\/v2\/posts\/838","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/van-daag.nl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/van-daag.nl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/van-daag.nl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/van-daag.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=838"}],"version-history":[{"count":1,"href":"https:\/\/van-daag.nl\/index.php?rest_route=\/wp\/v2\/posts\/838\/revisions"}],"predecessor-version":[{"id":841,"href":"https:\/\/van-daag.nl\/index.php?rest_route=\/wp\/v2\/posts\/838\/revisions\/841"}],"wp:attachment":[{"href":"https:\/\/van-daag.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=838"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/van-daag.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=838"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/van-daag.nl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=838"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}