Saturday 21 March 2015

explorer.exe and Print Management suddenly stops in a Citrix environment

Hi all!

Some weeks ago I hit my head with a easy but annoying error: When a user opens a explorer.exe or Print Management published application in a Citrix environment, the application suddenly stops/disappear with no error message. After a time troubleshooting, it seems to appear a hidden error message: Server execution failed


In spite of we have two different errors: explorer.exe and Print Management, the error is the same because Print Management application runs explorer.exe with a parameter.

Environment:

Citrix 7.5 running Windows Server 2008 R2.

The problem:

The error appears because Windows Explorer looks for "Personal" folder specified in the registry hive:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\

If the folder does not exist, fails.


Resolution:

The problem was detected and solved by Microsoft with the KB2444677

If you cannot apply the KB article(restart needed, or others...) you can do two actions:
  1. Change the folder path for an existing
  2. Create the specified folder

Hope it helps!


Wednesday 7 January 2015

[FastToUse] - Find Exchange 2010 AntiSpam filtered e-mails.

What?
When you need to check if an email is filtered by Exchange 2010 AntiSpam filters, it use to be a tedious task. This will not be a problem if you use a simple script to find the filtered e-mail by domain o full-e-mail address.

Fast Instructions:
  • Copy & Paste the following PowerShell code into a FindSPAMemails.ps1 file.
  • Save the file in a accessible site in order to use it when necessary.
PowerShell:

add-pssnapin Microsoft.Exchange.Management.PowerShell.E2010; . 'C:\Program Files\Microsoft\Exchange Server\V14\bin\Exchange.ps1'
cls
while (1 -eq 1){
                $domini = Read-Host 'Enter the domain name or mail address(i.e: domain.com or mail@domain.com)'
                Write-Host "You entered: " $domini " , starting search..."
                Get-AgentLog | select P1FromAddress,P2FromAddresses,Agent,Action,Reason,ReasonData,Diagnostics,Timestamp | where {$_.Action -ne "AcceptMessage"} | where {$_.P1FromAddress -like "*$domini*"}
                $opcio = Read-Host 'Continue searching? (Y/N), default option -> N'
                while ($ok -ne "ok"){
                               if(($opcio -eq "N") -or ($opcio -eq "n") -or ($opcio -eq "")) {exit}
                               elseif(($opcio -eq "Y") -or ($opcio -eq "y")) {$ok="ok"}
                               else{
                                               $opcio = Read-Host 'Incorrect option, continue searching? (Y/N), default option -> N'
                               }
                }
                $ok=""
}

More Information: