So I've been just kind of putting up with this for a while , but I've noticed really slow tab completion. When looking into what modules were causing it by process of elimination, it appears to be caused by the PowerCLI 6.5.0-4624819. If I remove the following modules simply by moving them out of the path "C:\Program Files (x86)\VMware\Infrastructure\PowerCLI\Modules", I no longer have tab completion delays (2-3 seconds). Was just curious if anyone else is seeing this. I haven't tried to nail it down to specifics within these.
The modules:
VMware.DeployAutomation 6.0.0.0
VMware.ImageBuilder 6.0.0.0
VMware.VimAutomation.Cis.Core 6.5.0.4624453
VMware.VimAutomation.Common 6.5.0.4624451
VMware.VimAutomation.Core 6.5.0.2604913
VMware.VimAutomation.HA 6.0.0.0
VMware.VimAutomation.License 6.5.0.4624822
VMware.VimAutomation.Sdk 6.5.0.4624452
VMware.VimAutomation.Storage 6.5.0.4624820
VMware.VimAutomation.Vds 6.5.0.4624695
VMware.VumAutomation 6.0.0.0
No, can't say I experience the same.
On initial startup of the ISE or VSC, it takes a while for intellisense to become active.
But from there on, it works fast.
Which editor do you use?
Do you have a lot of folders in your $env:PSModulePath?
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
Typically, I use/edit in ISE. However, this behavior happens no matter what editor or console I open. Even using ConEmu . Anyhow, here is a list of my $env paths - doesn't seem like very many to me.
C:\Users\allyourbase\Documents\WindowsPowerShell\Modules;C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules;C:\Program Files\Microsoft\AGPM\Client\;C:\Program Files (x86)\VMware\Infrastructure\PowerCLI\Modules
I haven't been on the community forums in a while, but its good to see a RockStar name like LucD around!
All my dirt
get-module -listavailable
Directory: C:\Program Files\WindowsPowerShell\Modules
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Binary 2.0.0.30 AzureAD {Add-AzureADApplicationOwner, Get-AzureADApplication, Get-Azure... Script 0.8.2.1 ConnectO365 {Get-O365ModuleFile, Import-DataFile, RetrieveCredentials}
Binary 2.0 CredentialManager {Get-StoredCredential, New-StoredCredential, Remove-StoredCrede... Manifest 1.0 MSOnline {Get-MsolDevice, Remove-MsolDevice, Enable-MsolDevice, Disable-... Script 1.0.0.1 PowerShellGet {Install-Module, Find-Module, Save-Module, Update-Module...}
Script 1.1 PSReadline {Get-PSReadlineKeyHandler, Set-PSReadlineKeyHandler, Remove-PSR...
Directory: C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Manifest 1.0.0.0 ActiveDirectory {Add-ADCentralAccessPolicyMember, Add-ADComputerServiceAccount,... Binary 5.0.0.0 AdmPwd.PS {Update-AdmPwdADSchema, Get-AdmPwdPassword, Reset-AdmPwdPasswor... Manifest 1.0.0.0 AppBackgroundTask {Disable-AppBackgroundTaskDiagnosticLog, Enable-AppBackgroundTa... Manifest 2.0.0.0 AppLocker {Get-AppLockerFileInformation, Get-AppLockerPolicy, New-AppLock... Manifest 2.0.0.0 Appx {Add-AppxPackage, Get-AppxPackage, Get-AppxPackageManifest, Rem... Script 1.0.0.0 AssignedAccess {Clear-AssignedAccess, Get-AssignedAccess, Set-AssignedAccess}
Manifest 1.0 BestPractices {Get-BpaModel, Get-BpaResult, Invoke-BpaModel, Set-BpaResult}
Manifest 1.0.0.0 BitLocker {Unlock-BitLocker, Suspend-BitLocker, Resume-BitLocker, Remove-... Manifest 2.0.0.0 BitsTransfer {Add-BitsFile, Complete-BitsTransfer, Get-BitsTransfer, Remove-... Manifest 1.0.0.0 BranchCache {Add-BCDataCacheExtension, Clear-BCCache, Disable-BC, Disable-B... Manifest 1.0.0.0 CimCmdlets {Get-CimAssociatedInstance, Get-CimClass, Get-CimInstance, Get-... Manifest 1.0.0.0 CIPolicy ConvertFrom-CIPolicy
Binary 2.0.0.0 ClusterAwareUpdating {Get-CauPlugin, Register-CauPlugin, Unregister-CauPlugin, Invok... Manifest 1.0 ConfigCI {Get-SystemDriver, New-CIPolicyRule, New-CIPolicy, Get-CIPolicy... Manifest 1.0 Defender {Get-MpPreference, Set-MpPreference, Add-MpPreference, Remove-M... Manifest 1.0 DFSN {Get-DfsnRoot, Remove-DfsnRoot, Set-DfsnRoot, New-DfsnRoot...}
Binary 2.0.0.0 DFSR {New-DfsReplicationGroup, Get-DfsReplicationGroup, Set-DfsRepli... Manifest 2.0.0.0 DhcpServer {Add-DhcpServerInDC, Add-DhcpServerv4Class, Add-DhcpServerv4Exc... Manifest 1.0.0.0 DirectAccessClientComponents {Disable-DAManualEntryPointSelection, Enable-DAManualEntryPoint... Script 3.0 Dism {Add-AppxProvisionedPackage, Add-WindowsDriver, Add-WindowsCapa... Manifest 1.0.0.0 DnsClient {Resolve-DnsName, Clear-DnsClientCache, Get-DnsClient, Get-DnsC... Manifest 2.0.0.0 DnsServer {Add-DnsServerConditionalForwarderZone, Add-DnsServerDirectoryP... Manifest 1.0.0.0 EventTracingManagement {New-EtwTraceSession, Get-EtwTraceSession, Set-EtwTraceSession,... Manifest 2.0.0.0 FailoverClusters {Add-ClusterCheckpoint, Add-ClusterDisk, Add-ClusterFileServerR... Manifest 1.0.0.0 GroupPolicy {Backup-GPO, Block-GPInheritance, Copy-GPO, Get-GPInheritance...}
Manifest 1.0.0.0 HgsClient {Get-HgsAttestationBaselinePolicy, Get-HgsClientConfiguration, ... Binary 2.0.0.0 Hyper-V {Add-VMAssignableDevice, Add-VMDvdDrive, Add-VMFibreChannelHba,... Binary 1.1 Hyper-V {Add-VMDvdDrive, Add-VMFibreChannelHba, Add-VMHardDiskDrive, Ad... Manifest 2.0.0.0 International {Get-WinDefaultInputMethodOverride, Set-WinDefaultInputMethodOv... Manifest 2.0.0.0 IpamServer {Get-IpamDhcpConfigurationEvent, Remove-IpamDhcpConfigurationEv... Manifest 1.0.0.0 iSCSI {Get-IscsiTargetPortal, New-IscsiTargetPortal, Remove-IscsiTarg... Manifest 2.0.0.0 IscsiTarget {Add-ClusteriSCSITargetServerRole, Add-IscsiVirtualDiskTargetMa... Script 1.0.0.0 ISE {New-IseSnippet, Import-IseSnippet, Get-IseSnippet}
Manifest 1.0.0.0 Kds {Add-KdsRootKey, Get-KdsRootKey, Test-KdsRootKey, Set-KdsConfig... Manifest 1.0.0.0 Microsoft.PowerShell.Archive {Compress-Archive, Expand-Archive}
Manifest 3.0.0.0 Microsoft.PowerShell.Diagnostics {Get-WinEvent, Get-Counter, Import-Counter, Export-Counter...}
Manifest 3.0.0.0 Microsoft.PowerShell.Host {Start-Transcript, Stop-Transcript}
Manifest 3.1.0.0 Microsoft.PowerShell.Management {Add-Content, Clear-Content, Clear-ItemProperty, Join-Path...}
Script 1.0 Microsoft.PowerShell.ODataUtils Export-ODataEndpointProxy
Manifest 3.0.0.0 Microsoft.PowerShell.Security {Get-Acl, Set-Acl, Get-PfxCertificate, Get-Credential...}
Manifest 3.1.0.0 Microsoft.PowerShell.Utility {Format-List, Format-Custom, Format-Table, Format-Wide...}
Manifest 3.0.0.0 Microsoft.WSMan.Management {Disable-WSManCredSSP, Enable-WSManCredSSP, Get-WSManCredSSP, S... Manifest 1.0 MMAgent {Disable-MMAgent, Enable-MMAgent, Set-MMAgent, Get-MMAgent...}
Manifest 1.0.0.0 MsDtc {New-DtcDiagnosticTransaction, Complete-DtcDiagnosticTransactio... Binary 1.0.0.0 MSMQ {Clear-MsmqOutgoingQueue, Clear-MsmqQueue, Enable-MsmqCertifica... Manifest 2.0.0.0 NetAdapter {Disable-NetAdapter, Disable-NetAdapterBinding, Disable-NetAdap... Manifest 1.0.0.0 NetConnection {Get-NetConnectionProfile, Set-NetConnectionProfile}
Manifest 1.0.0.0 NetEventPacketCapture {New-NetEventSession, Remove-NetEventSession, Get-NetEventSessi... Manifest 2.0.0.0 NetLbfo {Add-NetLbfoTeamMember, Add-NetLbfoTeamNic, Get-NetLbfoTeam, Ge... Manifest 1.0.0.0 NetNat {Get-NetNat, Get-NetNatExternalAddress, Get-NetNatStaticMapping... Manifest 2.0.0.0 NetQos {Get-NetQosPolicy, Set-NetQosPolicy, Remove-NetQosPolicy, New-N... Manifest 2.0.0.0 NetSecurity {Get-DAPolicyChange, New-NetIPsecAuthProposal, New-NetIPsecMain... Manifest 1.0.0.0 NetSwitchTeam {New-NetSwitchTeam, Remove-NetSwitchTeam, Get-NetSwitchTeam, Re... Manifest 1.0.0.0 NetTCPIP {Get-NetIPAddress, Get-NetIPInterface, Get-NetIPv4Protocol, Get... Manifest 1.0.0.0 NetWNV {Get-NetVirtualizationProviderAddress, Get-NetVirtualizationGlo... Manifest 1.0.0.0 NetworkConnectivityStatus {Get-DAConnectionStatus, Get-NCSIPolicyConfiguration, Reset-NCS... Manifest 1.0.0.0 NetworkController {Add-NetworkControllerNode, Disable-NetworkControllerNode, Enab... Manifest 1.0.0.0 NetworkControllerDiagnostics {Debug-NetworkController, Debug-NetworkControllerConfigurationS... Manifest 2.0.0.0 NetworkLoadBalancingClusters {Add-NlbClusterNode, Add-NlbClusterNodeDip, Add-NlbClusterPortR... Manifest 1.0.0.0 NetworkSwitchManager {Disable-NetworkSwitchEthernetPort, Enable-NetworkSwitchEtherne... Manifest 1.0.0.0 NetworkTransition {Add-NetIPHttpsCertBinding, Disable-NetDnsTransitionConfigurati... Manifest 1.0 NFS {Get-NfsMappedIdentity, Get-NfsNetgroup, Install-NfsMappingStor... Manifest 1.0.0.0 PcsvDevice {Get-PcsvDevice, Start-PcsvDevice, Stop-PcsvDevice, Restart-Pcs... Manifest 1.0.0.0 PKI {Add-CertificateEnrollmentPolicyServer, Export-Certificate, Exp... Manifest 1.0.0.0 PnpDevice {Get-PnpDevice, Get-PnpDeviceProperty, Enable-PnpDevice, Disabl... Manifest 1.1 PrintManagement {Add-Printer, Add-PrinterDriver, Add-PrinterPort, Get-PrintConf... Manifest 1.1 PSDesiredStateConfiguration {Set-DscLocalConfigurationManager, Start-DscConfiguration, Test... Script 1.0.0.0 PSDiagnostics {Disable-PSTrace, Disable-PSWSManCombinedTrace, Disable-WSManTr... Binary 1.1.0.0 PSScheduledJob {New-JobTrigger, Add-JobTrigger, Remove-JobTrigger, Get-JobTrig... Manifest 2.0.0.0 PSWorkflow {New-PSWorkflowExecutionOption, New-PSWorkflowSession, nwsn}
Manifest 1.0.0.0 PSWorkflowUtility Invoke-AsWorkflow
Manifest 3.0.0.0 RemoteAccess {Add-DAAppServer, Add-DAClient, Add-DAClientDnsConfiguration, A... Manifest 2.0.0.0 RemoteDesktop {Get-RDCertificate, Set-RDCertificate, New-RDCertificate, New-R... Manifest 1.0.0.0 ScheduledTasks {Get-ScheduledTask, Set-ScheduledTask, Register-ScheduledTask, ... Manifest 2.0.0.0 SecureBoot {Confirm-SecureBootUEFI, Set-SecureBootUEFI, Get-SecureBootUEFI... Script 2.0.0.0 ServerManager {Get-WindowsFeature, Install-WindowsFeature, Uninstall-WindowsF... Cim 1.0.0.0 ServerManagerTasks {Get-SMCounterSample, Get-SMPerformanceCollector, Start-SMPerfo... Manifest 1.0.0.0 ShieldedVMDataFile {Import-ShieldingDataFile, Protect-ShieldingDataFile, New-Volum... Manifest 1.0.0.0 ShieldedVMTemplate {Protect-ServerVHDX, Initialize-VMShieldingHelperVHD}
Manifest 2.0.0.0 SmbShare {Get-SmbShare, Remove-SmbShare, Set-SmbShare, Block-SmbShareAcc... Manifest 2.0.0.0 SmbWitness {Get-SmbWitnessClient, Move-SmbWitnessClient, gsmbw, msmbw...}
Manifest 1.0.0.0 StartLayout {Export-StartLayout, Import-StartLayout, Get-StartApps}
Manifest 2.0.0.0 Storage {Add-InitiatorIdToMaskingSet, Add-PartitionAccessPath, Add-Phys... Manifest 1.0.0.0 StorageQoS {Get-StorageQoSPolicy, Get-StorageQoSPolicyStore, Set-StorageQo... Manifest 1.0 StorageReplica {Test-SRTopology, New-SRGroup, Remove-SRGroup, Set-SRGroup...}
Manifest 2.0.0.0 TLS {New-TlsSessionTicketKey, Enable-TlsSessionTicketKey, Disable-T... Manifest 1.0.0.0 TroubleshootingPack {Get-TroubleshootingPack, Invoke-TroubleshootingPack}
Manifest 2.0.0.0 TrustedPlatformModule {Get-Tpm, Initialize-Tpm, Clear-Tpm, Unblock-Tpm...}
Manifest 2.0.0.0 UpdateServices {Add-WsusComputer, Approve-WsusUpdate, Deny-WsusUpdate, Get-Wsu... Manifest 2.0.0.0 VpnClient {Add-VpnConnection, Set-VpnConnection, Remove-VpnConnection, Ge... Manifest 1.0.0.0 Wdac {Get-OdbcDriver, Set-OdbcDriver, Get-OdbcDsn, Add-OdbcDsn...}
Manifest 1.0.0.0 WindowsDeveloperLicense {Get-WindowsDeveloperLicense, Show-WindowsDeveloperLicenseRegis... Script 1.0 WindowsErrorReporting {Enable-WindowsErrorReporting, Disable-WindowsErrorReporting, G... Manifest 1.0.0.0 WindowsSearch {Get-WindowsSearchSetting, Set-WindowsSearchSetting}
Manifest 1.0.0.0 WindowsUpdate Get-WindowsUpdateLog
Directory: C:\Program Files\Microsoft\AGPM\Client
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Binary 1.0.0.0 Microsoft.Agpm {Get-ControlledGpo, Lock-ControlledGpo, Unlock-ControlledGpo, P...
Directory: C:\Program Files (x86)\VMware\Infrastructure\PowerCLI\Modules
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Binary 6.0.0.0 VMware.DeployAutomation
Binary 6.0.0.0 VMware.ImageBuilder
Binary 6.5.0.4... VMware.VimAutomation.Cis.Core
Manifest 6.5.0.4... VMware.VimAutomation.Common
Binary 6.5.0.2... VMware.VimAutomation.Core HookGetViewAutoCompleter
Binary 6.0.0.0 VMware.VimAutomation.HA
Binary 6.5.0.4... VMware.VimAutomation.License
Manifest 6.5.0.4... VMware.VimAutomation.Sdk Get-PSVersion
Binary 6.5.0.4... VMware.VimAutomation.Storage
Binary 6.5.0.4... VMware.VimAutomation.Vds
Binary 6.0.0.0 VMware.VumAutomation
No, that looks like a "normal" amount of modules.
You could try to clean up the cache PowerShell is using for this.
Note that after this action it might take some time before the cache is rebuild!
Get-ChildItem -Path "$($env:LocalAppData)\Microsoft\Windows\PowerShell\CommandAnalysis" |
Remove-Item -Confirm:$false
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
So I played quite a bit with the caching folder. Used your commend, also moved everything out of it and let it recreate. No luck. I've decided to down rev to 6.3 R1. It is not having/causing the issue anymore with the older version.
Directory: C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\Modules
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Binary 6.0.0.0 VMware.VimAutomation.Cis.Core
Manifest 6.3.0.0 VMware.VimAutomation.Common
Manifest 6.3.0.0 VMware.VimAutomation.Core HookGetViewAutoCompleter
Binary 6.0.0.0 VMware.VimAutomation.HA
Binary 1.0.0.0 VMware.VimAutomation.License
Manifest 6.3.0.0 VMware.VimAutomation.SDK
Binary 6.0.0.0 VMware.VimAutomation.Storage
Binary 6.3.0.0 VMware.VimAutomation.Vds
Binary 6.3.0.0 VMware.VimAutomation.vROps
Binary 6.0.0.0 VMware.VumAutomation
Out of curiosity, do you see the same slow intellisense with PowerCLI 6.5R1 on another station?
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
I finally got around to installing this on a clean VM image and I'm not noticing the issue. Not sure if its not there, or I'm just no observing it (noticeable). Would need to install quite a few other power shell modules. I'll keep digging into it as I have time.