I was having trouble with same issue, I was using Connect-CrmOnline method to connect. But I fixed the issue and am able to pass custom timeout value. I am able to import a solution to Dynamics Online which takes around 22 minutes. I hope this will help. Here is the code: #1 Create ConnectionString $cs = "RequireNewInstance=True" $cs+= ";Username=$($Cred.UserName)" $cs+= ";Password=$($Cred.GetNetworkCredential().Password)" $cs+= ";Url=$CRMServerURL" $cs += ";AuthType=Office365" $cs+=";SkipDiscovery=True" #2 Create a connection using ConnectionString (for Online) $Conn = Get-CrmConnection -ConnectionString $cs -MaxCrmConnectionTimeOutMinutes $CrmConTimeOutMinutes #3 Import Solution Import-CrmSolutionAsync -SolutionFilePath $path -conn $Conn -MaxWaitTimeInSeconds $maxWaitTimeInSeconds -ActivateWorkflows -PublishChanges -BlockUntilImportComplete