$SomeComputer = 'localhost'
$RemoteServicePS = @{
'VMware' = @{
'Service' = $(get-service -verbose:$false -computername $SomeComputer -displayName 'VMware Tools');
'EndpointContracts' = @('ISimService','IServiceBroker');
'Identity' = '';
};
}
$ServicesToSkip = @()
$RemoteServiceCIM = @{}; $HasServicePrincipalNames = @{}
$RemoteServicePS.GetEnumerator() | % {
$thisServiceKey = $_.Key
if ($_.Value.Service -ne $null){
$thisCIMService = $(get-ciminstance win32_service -verbose:$false -computername $_.Value.Service.MachineName -filter "name='$($_.Value.Service.ServiceName)'")
$thisCIMServiceUser = $thisCIMService.StartName
write-host $thisCIMServiceUser
# etc.
}
}
After updating language-powershell to the most recent release the following from the code above breaks code highlighting for me:
$thisCIMService = $(get-ciminstance win32_service -verbose:$false -computername $_.Value.Service.MachineName -filter "name='$($_.Value.Service.ServiceName)'")
The same also appears to be the case for the following little snippet (code hightlighting continues as before if commented out):
$thisBitVersionMatches = $FilesPresent | where {$_.FullName -match "^(?=.*$thisVersion)((?=.*$thisBitness)|(?=.*$thisSupportBit))(?=.*redist).*$"}
I also see the issue in places such as this:
foreach ($Tool in $Tools){
$ToolFromWhere.Keys | % {
if (($_ -match $Tool) -and -not ($ToolsToDownload -contains $ToolFromWhere."$($_)")){
write-verbose ('Fetching {0} from {1}' -f $_, $ToolFromWhere."$($_)")
$ToolsToDownload += $ToolFromWhere."$($_)"
[URI]$thisURI = $ToolFromWhere."$($_)"
$thisFileName = $thisURI.Segments[-1]
$thisTempFile = join-path -path $env:TEMP -childpath $thisFileName
start-bitstransfer -source $thisURI -destination $thisTempFile
Where if I comment out lines [3-6] highlighting continues.
Another example where the Where line breaks highlighting:
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse |
Get-ItemProperty -name Version,Release -EA 0 |
Where { $_.PSChildName -match '^(?!S)\p{L}'} |
Select PSChildName, Version, Release, @{
name="Product"
expression={
switch($_.Release) {
My gut feeling says it's related to PR50 since it's all directly after a foreach/where, but I'm not really sure. Is there anything I can do to provide a clearer report/exclude other potential sources of the issue?