2016-09-08 3 views
0
Is there any way to use Credentials parameter with get-counter? 

私は以下のコードを試しましたが、動作しませんでした。私はここで、ターゲットサーバー上の管理者アクセス権を持つローカルユーザーアカウントを使用しています。取得カウンタを使用した資格証明パラメータ

Invoke-Command -Computername XXXX -ScriptBlock {(get-counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 1 -MaxSamples 5 | select -ExpandProperty countersamples | select -ExpandProperty cookedvalue | Measure-Object -Average).average} -Credential XXXX\YYYY 

答えて

0

ドキュメントはNope

は、あなたが文字列としての資格情報パラメータにユーザ名とパスワードを入力しようとしているが、それは、それがどのように動作するかではありませんあなたのコードから判断すると述べています。

$secpasswd = ConvertTo-SecureString “PlainTextPassword” -AsPlainText -Force 
$mycreds = New-Object System.Management.Automation.PSCredential (“username”, $secpasswd) 

あなたがInvoke-Commandを呼び出すと、証明書として$mycredsを供給することができた後:あなたはそうのような資格情報オブジェクトを作成する必要が正しく

Invoke-Command -Computername XXXX -ScriptBlock {(get-counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 1 -MaxSamples 5 | select -ExpandProperty countersamples | select -ExpandProperty cookedvalue | Measure-Object -Average).average} -Credential $mycreds 

あなたが資格情報を提供している場合に、それはまだあなたを動作しません。もう一度Scriptblock内でInvoke-Commandを使用して、そこに資格情報を入力してください。

あなたは-Argumentlistパラメータでスクリプトブロックへのパラメータとして、資格情報オブジェクトを渡し、$args[0]を使用するか、またはスクリプトブロックの内部のパラメータ宣言を行うと宣言した名前でアクセスすることにより、スクリプトブロック内でそれにアクセスすることができます。

+0

資格証明オブジェクトを試しました。以下のエラーが発生しました。 –

+0

[XXXX]リモートサーバーXXXXへの接続に失敗し、次のエラーメッセージが表示されました。WinRMが要求を処理できません。 Kerberos認証の使用中に、次のエラーコード0x80090311のエラーが発生しました。現在、ログオン要求を処理するために使用できるログオンサーバーはありません。 考えられる原因は次のとおりです。 - 指定されたユーザー名またはパスワードが無効です。 -Kerberosは、認証方法とユーザー名が指定されていない場合に使用されます。 -Kerberosはドメインユーザー名を受け入れますが、ローカルユーザー名は受け入れません。 - リモートコンピュータ名とポートのサービスプリンシパル名(SPN)が存在しません。 –

+0

- クライアントコンピュータとリモートコンピュータは異なるドメインにあり、2つのドメイン間で信頼関係はありません。 上記の問題を確認した後、次を試してください。 - イベントビューアで、認証に関連するイベントがないかチェックしてください。 - 認証方法を変更してください。 WinRM TrustedHosts構成設定に送信先コンピュータを追加するか、HTTPSトランスポートを使用します。 TrustedHostsリストのコンピュータが認証されていない可能性があります。 –

関連する問題