Home
Microsoft 365
Linux
Windows
Powershell
Cloud Computing
    Citrix Xendesktop
    Citrix XenApp
Useful links
About
  • Home
  • Microsoft 365
  • Linux
  • Windows
  • Powershell
  • Cloud Computing
    • Citrix Xendesktop
    • Citrix XenApp
  • Useful links
  • About
ajni.IT -
Powershell

Run msiexec transforms with PowerShell

April 17, 2024 by AJNI No Comments

It might be tricky to run msiexec mst files with PowerShell, because of the arguments that contain special characters. Here is a quick line that you might need next time you install programs with msiexec and PowerShell:

Start-Process -Wait “msiexec.exe” -ArgumentList ‘/i “path-to.msi” TRANSFORMS=”path-to-file.mst” /passive /norestart’

Reading time: 1 min
Cloud Computing•Microsoft 365•Powershell

Outlook 365 Online Meetings by default

April 11, 2024 by AJNI No Comments

With the newer versions of Outlook 365, when creating a new invitation, a Teams Call link is automatically added to every meeting, which might not be wanted by some customers. Here is a quick way to disable it for the whole tenant:

Connect-ExchangeOnline

Set-OrganizationConfig -OnlineMeetingsByDefaultEnabled $false

To check out if the settings has changed:

Get-OrganizationConfig | select OnlineMeetingsByDefaultEnabled

Reading time: 1 min
Citrix XenApp•Cloud Computing•Powershell•Windows Server

Citrix Virtual Apps and Desktops 2203+ grey screen/ConnectionFailure in Eventviewer

March 19, 2023 by AJNI No Comments

Having grey screen issues with CVAD 2203+ and higher on Windows Server 2022 Terminal server? I had this issue occurring on Citrix 2212. Try running this script. It might help you out. Do a VM backup or snapshot before running the script, just to be sure.

$iddHwId = “VEN_5853&DEV_1003”
$pnpDispDevPath = “HKLM:\SYSTEM\CurrentControlSet\Enum\SWD\RemoteDisplayEnum”

try
{
    $iddDevEntries = Get-ChildItem -Path $pnpDispDevPath -ErrorAction Stop| Where-Object Name -Match $iddHwId
}
catch
{
    Write-Output “Failed to query remote ID device entries”
    Write-Output $_
    return
}

if ($iddDevEntries.Count -eq 0)
{
     Write-Output “No remote ID device entries found.”
     return
}

$iddDevEntries | ForEach-Object {
    
    $devName = ($_.Name -Split “\\”)[-1]
    
    try
    {
        Remove-ItemProperty -Path $_.PsPath * -ErrorAction Stop
        Write-Output “Cleared values for $devName”
    }
    catch
    {
        Write-Output “Failed to clear values for $devName”
        Write-Output $_
    }
}

This saved my day:

https://discussions.citrix.com/topic/417832-cvad-connectionfailure-after-install-ltsr-2203-cu2-on-server-2022/page/3/

Reading time: 1 min
Powershell•Windows Server

Renew Always On VPN IKEv2 Server Certificate

December 20, 2022 by AJNI No Comments

If you need to renew the Always On VPN IKEv2 server certificate, here are three lines that will help you. Assuming you have the right certificate and the thumbprint, execute the following commands on the VPN server:

$cert = Get-ChildItem -Path Cert:\LocalMachine\My\ | where { $_.Thumbprint -eq “thumbprint” }

Set-VpnAuthProtocol -CertificateAdvertised $cert

Restart-Service RemoteAccess

If these commands saved your day, leave a comment!

Reading time: 1 min
Citrix XenApp•Citrix Xendesktop•Powershell•VDI•Windows Server

Migrate Citrix Virtual Apps and Desktops database to new server

January 31, 2022 by AJNI No Comments

Migrating the Citrix Site database to a new database server is pretty straight forward but needs to be planned since there is a downtime when making the switch.

First of all, take a backup of the database with SQL Server Management Studio and restore the database on the new server:

Select the file that has just been backed up.

Run a new query with CTRL + N and add the DDC’s (Delivery Controller) computer account:

create login [domain\ctx1$] from windows

Make sure the computer account has proper roles under Security > Logins > domain\ctx1$ > right click > properties (the computer account needs to have all permission ending with _ROLE in all three databases).

Step 1 is to remove the old database connection string:

Add-PSSnapin Citrix*
Set-LogSite -State Disabled
Set-MonitorConfiguration -DataCollectionEnabled $false
Set-LogDBConnection -DataStore Logging -DBConnection $null
Set-MonitorDBConnection -DataStore Monitor -DBConnection $null
Set-MonitorDBConnection -DBConnection $null
Set-AcctDBConnection -DBConnection $null
Set-AnalyticsDBConnection -DBConnection $null
Set-AppLibDBConnection -DBConnection $null
Set-ProvDBConnection -DBConnection $null
Set-BrokerDBConnection -DBConnection $null
Set-EnvTestDBConnection -DBConnection $null
Set-SfDBConnection -DBConnection $null
Set-HypDBConnection -DBConnection $null
Set-OrchDBConnection -DBConnection $null
Set-TrustDBConnection -DBConnection $null
Set-ConfigDBConnection -DBConnection $null -force
Set-LogDBConnection -DBConnection $null -force
Set-AdminDBConnection -DBConnection $null -force

Step 2 is to check whether you are able to connect to the new database server. If that does not work, the SQL Server Ports (UDP 1434 for SQL Server Browser and a high port for the SQL server instance) need to be enabled in Windows Firewall. You might also need to enable TCP/IP in SQL Server configuration manager if you are using SQL Server Express.

$SQLServer = “ctxdb\sqlexpress”
$SiteDBName = “citrixsite”
$DBConnectSite = “Server=$SQLServer;Initial Catalog=$SiteDBName;Integrated Security=True”
Test-AdminDBConnection -DBConnection $DBConnectSite
Test-AcctDBConnection -DBConnection $DBConnectSite
Test-AnalyticsDBConnection -DBConnection $DBConnectSite
Test-AppLibDBConnection -DBConnection $DBConnectSite
Test-BrokerDBConnection -DBConnection $DBConnectSite
Test-ConfigDBConnection -DBConnection $DBConnectSite
Test-EnvTestDBConnection -DBConnection $DBConnectSite
Test-HypDBConnection -DBConnection $DBConnectSite
Test-LogDBConnection -DBConnection $DBConnectSite
Test-MonitorDBConnection -DBConnection $DBConnectSite
Test-OrchDBConnection -DBConnection $DBConnectSite
Test-TrustDBConnection -DBConnection $DBConnectSite
Test-ProvDBConnection -DBConnection $DBConnectSite
Test-SfDBConnection -DBConnection $DBConnectSite

Step 3 is to set the new database connection string

Add-PSSnapin Citrix*
$SQLServer = “ctxdb\sqlexpress”
$SiteDBName = “CitrixSite”
$LogDBName = “CitrixLogging”
$MonDBName = “CitrixMonitoring”
$DBConnectSite = “Server=$SQLServer;Initial Catalog=$SiteDBName;Integrated Security=True”
$DBConnectLog = “Server=$SQLServer;Initial Catalog=$LogDBName;Integrated Security=True”
$DBConnectMon = “Server=$SQLServer;Initial Catalog=$MonDBName;Integrated Security=True”
Set-AdminDBConnection -DBConnection $DBConnectSite
Set-ConfigDBConnection -DBConnection $DBConnectSite
Set-AcctDBConnection -DBConnection $DBConnectSite
Set-AnalyticsDBConnection -DBConnection $DBConnectSite
Set-AppLibDBConnection -DBConnection $DBConnectSite
Set-ProvDBConnection -DBConnection $DBConnectSite
Set-BrokerDBConnection -DBConnection $DBConnectSite
Set-EnvTestDBConnection -DBConnection $DBConnectSite
Set-OrchDBConnection -DBConnection $DBConnectSite
Set-TrustDBConnection -DBConnection $DBConnectSite
Set-SfDBConnection -DBConnection $DBConnectSite
Set-HypDBConnection -DBConnection $DBConnectSite
Set-LogDBConnection -DBConnection $DBConnectSite
Set-LogDBConnection -DataStore Logging -DBConnection $DBConnectLog
Set-MonitorDBConnection -DBConnection $DBConnectSite
Set-MonitorDBConnection -DataStore Monitor -DBConnection $DBConnectMon
Set-MonitorConfiguration -DataCollectionEnabled $true
Set-LogSite -State Enabled

In Step 4 Citrix services need to be stopped and started (Do NOT use Restart-Service!)

Get-Service Citrix* | Stop-Service -Force
Get-Service Citrix* | Start-Service

Step 5: Check if are connections are OK

Get-AcctServiceStatus
Get-AdminServiceStatus
Get-AnalyticsServiceStatus
Get-AppLibServiceStatus
Get-BrokerServiceStatus
Get-ConfigServiceStatus
Get-EnvTestServiceStatus
Get-HypServiceStatus
Get-LogServiceStatus
Get-MonitorServiceStatus
Get-OrchServiceStatus
Get-TrustServiceStatus
Get-ProvServiceStatus
Get-SfServiceStatus

Optionally, you can check if the new connection string is configured for every service that needs the database.

Get-MonitorDBConnection
Get-AcctDBConnection
Get-AnalyticsDBConnection
Get-AppLibDBConnection
Get-ProvDBConnection
Get-BrokerDBConnection
Get-EnvTestDBConnection
Get-SfDBConnection
Get-HypDBConnection
Get-OrchDBConnection
Get-TrustDBConnection
Get-ConfigDBConnection
Get-LogDBConnection
Get-AdminDBConnection

References:

https://support.citrix.com/article/CTX280675

Reading time: 2 min
Page 2 of 5«1234»...Last »

Like what you are reading? Buy me a coffee.

Tip Of the Day

  • Add Alias to Windows Fileserver (Server 2019, 2022, 2025)

    1 month ago

Keep in touch

Oh hi there!
It’s nice to meet you.

Sign up to receive awesome content in your inbox, every month.

Check your inbox or spam folder to confirm your subscription.

Categories

  • AI & Deep Learning (1)
  • Azure (20)
  • Citrix XenApp (21)
  • Citrix Xendesktop (13)
  • Cloud Computing (40)
  • Coding (1)
  • Hyper-V (10)
  • Linux (8)
  • Microsoft 365 (26)
  • Powershell (21)
  • Security (7)
  • VDI (16)
  • Virtualization (21)
  • VMware (12)
  • Windows (21)
  • Windows Client OS (39)
  • Windows Server (92)

Archives

  • May 2025
  • April 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • April 2023
  • March 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • December 2020
  • November 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019

ajni IT © 2019