1

何が起こったのかわかりませんが、毎回次のコマンドを入力します。

Test-Connection -ComputerName TARGET -TimeToLive 6

次のエラーが発生しました。

Test-Connection : Testing connection to computer 'TARGET' failed: Problem with some part of the filterspec or providerspecific buffer in general
At line:1 char:16
+ Test-Connection <<<<  -ComputerName TARGET -TimeToLive 6
    + CategoryInfo          : ResourceUnavailable: (TARGET:String) [Test-Connection], PingException
    + FullyQualifiedErrorId : TestConnectionException,Microsoft.PowerShell.Commands.TestConnectionCommand

-TimeToLiveおかしなことに、パラメーターを指定しないと、次のようになります。

Test-Connection -ComputerName TARGET
Test-Connection -ComputerName TARGET -Count 2

コマンドは期待どおりに機能します。そして、Get-Help Test-Connection興味をそそるようなことをすると、それ-TimeToLive実際に有効なパラメーターであることがわかります。

どこで私は間違えましたか?

4

3 に答える 3

1

この答えは、私自身の実験に基づいています。私が間違っている場合はお知らせください。
この回答は、CB. の役立つ回答を参考にしています。

tl;dr

  • -TimeToLiveTest-Connectionドキュメントに記載されていることにもかかわらず(まだ PSv5.1 の時点であり、GitHub のソースコード リポジトリにもあります[1] )、秒単位のタイムアウトはありませんが、パケットが期限切れと見なされる前に実行できるホップ最大数です。 .

    • そのため、ping.exe-i <TTL>パラメータに類似しています。
    • Test-Connection-TimeToLive--のデフォルト値は、秒単位のタイムアウトではない80という手がかりを提供します。
    • Test-Connectionping.exeの真の時間ベースの-w <ms>タイムアウト パラメータに相当するものはありません。
  • この場合のあいまいなエラー メッセージ( problem with some part of the filterspec or providerspecific buffer in general)は、TTL (ホップ カウント制限) 値が低いために、パケットが転送中に期限切れになったことが原因である可能性が最も高いです。

    • ping.exeTTL expired in transitそのイベントではるかに役立つことを報告します。

TTL ( Time -to-Live) は実際には誤称です。これは IPv6 で修正された問題であり、Wikipediaで説明されているように (強調は私のものです):

理論上、IPv4 では、存続可能時間は秒単位で測定されますが、データグラムを通過するすべてのホストは TTL を少なくとも 1 単位減らす必要があります。実際には、TTL フィールドはホップごとに 1 ずつ減らされます。この慣行を反映するために、IPv6 ではこのフィールドの名前がhop limitに変更されました。

したがって、TTL が実際に表すものについて混乱が生じることは理解できますが、残念なことに、Test-Connectionドキュメント内の誤った情報が何年も修正されていません。


[1]問題を追跡するために問題をオープンしました。

于 2016-07-16T05:25:02.903 に答える
-1

さて、数週間ノンストップで仕事をした後、昨夜家に帰る直前にラップトップを再起動しました.

今朝、驚くほど-TimeToLive再び動作します!!

というわけで、 「使えない」という私の最大-TimeToLiveの悩みは解消されました…

...しかし、私はまだ疑問に思っています、-TimeToLiveエラーを引き起こした以前に何が起こったのか...

于 2012-06-26T05:20:43.617 に答える