Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

get-counter issue with -computer parameter#15166

Merged
TravisEz13 merged 2 commits into
PowerShell:masterPowerShell/PowerShell:masterfrom
krishnayalavarthi:get-counterkrishnayalavarthi/PowerShell:get-counterCopy head branch name to clipboard
Apr 12, 2021
Merged

get-counter issue with -computer parameter#15166
TravisEz13 merged 2 commits into
PowerShell:masterPowerShell/PowerShell:masterfrom
krishnayalavarthi:get-counterkrishnayalavarthi/PowerShell:get-counterCopy head branch name to clipboard

Conversation

@krishnayalavarthi

Copy link
Copy Markdown
Contributor

PR Summary

Get-Counter: fails when "-computer" parameter present

PR Context

Assuming the local system is named MySystem, the following should
work:

get-counter -computer MySystem "\Processor(_Total)% Processor Time"
This fails because get-counter inserts an extra backslash into the
string between "MySystem" and "\Processor", so the full path ends up
being \MySystem\Processor(_Total)% Processor Time.

PDH then parses this path as follows:

Machine = MySystem
CounterSet = Processor
Instance = _Total
Counter = % Processor Time
Note that the extra slash remains in Machine. As a result, PDH does not
recognize that this is a query for the local system, and instead
attempts to perform a remote query to the "MySystem" machine, which
does not exist. The query fails.

Fixes:

Update the Get-Counter cmdlet to not insert the extra backslash.
Update PDH to trim trailing backslashes from the machine name.

PR Checklist

@ghost ghost assigned TravisEz13 Apr 6, 2021
@krishnayalavarthi krishnayalavarthi changed the title get-counter issue fixed get-counter issue with -computer parameter Apr 6, 2021
@krishnayalavarthi

krishnayalavarthi commented Apr 6, 2021

Copy link
Copy Markdown
Contributor Author

Issue #15165

@iSazonov

iSazonov commented Apr 6, 2021

Copy link
Copy Markdown
Collaborator

I don't see any failures:

PowerShell 7.1.0
Copyright (c) Microsoft Corporation.

https://aka.ms/powershell
Type 'help' to get help.


PS C:\install\PowerShell\7> Get-Counter -Counter "\Processor(_Total)\% Processor Time"  -ComputerName localhost

Timestamp                 CounterSamples
---------                 --------------
4/6/2021 9:17:31 PM       \\localhost\\processor(_total)\% processor time :
                          10.159475274837638

TravisEz13
TravisEz13 previously approved these changes Apr 10, 2021
Comment thread src/Microsoft.PowerShell.Commands.Diagnostics/GetCounterCommand.cs Outdated
@TravisEz13 TravisEz13 dismissed their stale review April 10, 2021 16:46

@iSazonoz's comment

@TravisEz13 TravisEz13 added the Waiting on Author The PR was reviewed and requires changes or comments from the author before being accept label Apr 10, 2021
@krishnayalavarthi

Copy link
Copy Markdown
Contributor Author

@TravisEz13 Looks fine. You can approve.

@ghost ghost removed the Waiting on Author The PR was reviewed and requires changes or comments from the author before being accept label Apr 10, 2021
@TravisEz13 TravisEz13 changed the title get-counter issue with -computer parameter get-counter issue with -computer parameter Apr 12, 2021
@TravisEz13 TravisEz13 merged commit 8a3e02d into PowerShell:master Apr 12, 2021
@TravisEz13 TravisEz13 added this to the 7.2.0-preview.6 milestone Apr 12, 2021
@TravisEz13 TravisEz13 added the CL-General Indicates that a PR should be marked as a general cmdlet change in the Change Log label Apr 12, 2021
@ghost

ghost commented Apr 14, 2021

Copy link
Copy Markdown

🎉v7.2.0-preview.5 has been released which incorporates this pull request.:tada:

Handy links:

TravisEz13 added a commit that referenced this pull request Apr 16, 2021
[7.2.0-preview.5] - 2021-04-14

* Breaking Changes

- Make PowerShell Linux deb and RPM packages universal (#15109)
- Enforce AppLocker Deny configuration before Execution Policy Bypass configuration (#15035)
- Disallow mixed dash and slash in command line parameter prefix (#15142) (Thanks @davidBar-On!)

* Experimental Features

- `PSNativeCommandArgumentPassing`: Use `ArgumentList` for native executable invocation (breaking change) (#14692)

* Engine Updates and Fixes

- Add `IArgumentCompleterFactory` for parameterized `ArgumentCompleters` (#12605) (Thanks @powercode!)

* General Cmdlet Updates and Fixes

- Fix SSH remoting connection never finishing with misconfigured endpoint (#15175)
- Respect `TERM` and `NO_COLOR` environment variables for `$PSStyle` rendering (#14969)
- Use `ProgressView.Classic` when Virtual Terminal is not supported (#15048)
- Fix `Get-Counter` issue with `-Computer` parameter (#15166) (Thanks @krishnayalavarthi!)
- Fix redundant iteration while splitting lines (#14851) (Thanks @hez2010!)
- Enhance `Remove-Item -Recurse` to work with OneDrive (#14902) (Thanks @iSazonov!)
- Change minimum depth to 0 for `ConvertTo-Json` (#14830) (Thanks @kvprasoon!)
- Allow `Set-Clipboard` to accept empty string (#14579)
- Turn on and off `DECCKM` to modify keyboard mode for Unix native commands to work correctly (#14943)
- Fall back to `CopyAndDelete()` when `MoveTo()` fails due to an `IOException` (#15077)

* Code Cleanup

<details>

<summary>

<p>We thank the following contributors!</p>
<p>@xtqqczze, @iSazonov, @ZhiZe-ZG</p>

</summary>

<ul>
<li>Update .NET to <code>6.0.0-preview.3</code> (#15221)</li>
<li>Add space before comma to hosting test to fix error reported by <code>SA1001</code> (#15224)</li>
<li>Add <code>SecureStringHelper.FromPlainTextString</code> helper method for efficient secure string creation (#14124) (Thanks @xtqqczze!)</li>
<li>Use static lambda keyword (#15154) (Thanks @iSazonov!)</li>
<li>Remove unnecessary <code>Array</code> -&gt; <code>List</code> -&gt; <code>Array</code> conversion in <code>ProcessBaseCommand.AllProcesses</code> (#15052) (Thanks @xtqqczze!)</li>
<li>Standardize grammar comments in Parser.cs (#15114) (Thanks @ZhiZe-ZG!)</li>
<li>Enable <code>SA1001</code>: Commas should be spaced correctly (#14171) (Thanks @xtqqczze!)</li>
<li>Refactor <code>MultipleServiceCommandBase.AllServices</code> (#15053) (Thanks @xtqqczze!)</li>
</ul>

</details>

* Tools

- Use Unix line endings for shell scripts (#15180) (Thanks @xtqqczze!)

* Tests

- Add the missing tag in Host Utilities tests (#14983)
- Update `copy-props` version in `package.json` (#15124)

* Build and Packaging Improvements

<details>

<summary>

<p>We thank the following contributors!</p>
<p>@JustinGrote</p>

</summary>

<ul>
<li>Fix <code>yarn-lock</code> for <code>copy-props</code> (#15225)</li>
<li>Make package validation regex accept universal Linux packages (#15226)</li>
<li>Bump NJsonSchema from 10.4.0 to 10.4.1 (#15190)</li>
<li>Make MSI and EXE signing always copy to fix daily build (#15191)</li>
<li>Sign internals of EXE package so that it works correctly when signed (#15132)</li>
<li>Bump Microsoft.NET.Test.Sdk from 16.9.1 to 16.9.4 (#15141)</li>
<li>Update daily release tag format to  work with new Microsoft Update work (#15164)</li>
<li>Feature: Add Ubuntu 20.04 Support to install-powershell.sh (#15095) (Thanks @JustinGrote!)</li>
<li>Treat rebuild branches like release branches (#15099)</li>
<li>Update WiX to 3.11.2 (#15097)</li>
<li>Bump NJsonSchema from 10.3.11 to 10.4.0 (#15092)</li>
<li>Allow patching of preview releases (#15074)</li>
<li>Bump Newtonsoft.Json from 12.0.3 to 13.0.1 (#15084, #15085)</li>
<li>Update the <code>minSize</code> build package filter to be explicit (#15055)</li>
<li>Bump NJsonSchema from 10.3.10 to 10.3.11 (#14965)</li>
</ul>

</details>

* Documentation and Help Content

- Merge `7.2.0-preview.4` changes to master (#15056)
- Update `README` and `metadata.json` (#15046)
- Fix broken links for `dotnet` CLI (#14937)

[7.2.0-preview.5]: v7.2.0-preview.4...v7.2.0-preview.5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CL-General Indicates that a PR should be marked as a general cmdlet change in the Change Log

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.