উইন্ডোজ 8 কোথায় ওয়াইফাইয়ের মাধ্যমে আনুমানিক ডেটা ব্যবহার সঞ্চয় করে?


19

আমি দুর্ঘটনাক্রমে আবিষ্কার করেছি যে উইন্ডোজ 8-এ, আপনি যদি স্টার্ট স্ক্রিন ইন্টারফেস থেকে পূর্ববর্তী সংযুক্ত ওয়্যারলেস নেটওয়ার্কটিতে ডান ক্লিক করেন তবে আনুমানিক ডেটা ব্যবহার দেখানোর বিকল্প রয়েছে।

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন

এই তথ্য কোথায় সংরক্ষণ করা হয়? পাওয়ারশেল / ডাব্লুএমআই এর মাধ্যমে এটি আনা সম্ভব? আমার জন্য একটি ব্যবহারের ক্ষেত্রে ডেটা ব্যবহারের উপর ভিত্তি করে সেটআপ স্বয়ংক্রিয় সতর্কতা হবে - আমি বর্তমানে ব্যবহার Networx আরো বিস্তারিত ভাঙ্গনের জন্য, কিন্তু একটি দ্রুত সতর্কতা, যদি আমি ব্যবহার সংগ্রহ করতে পারে, স্বয়ংক্রিয় রুট অনেক সাহায্য করবে।


1
আমি ভাবছি কেন এটি কেবল অনুমান করা হয়
ডের হচস্টাপলার

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Network\DataUsage\Wlanসম্পর্কিত দেখায় আমি এখনও অনুসন্ধান করছি.
বব

এটি সম্পর্কিত, তবে আমার গবেষণাটি দেখায় যে এটি নিখুঁতভাবে গুঁই সম্পর্কিত, আসল প্রাক্কলনটি কোথায় সংরক্ষণ করা হয়েছে সে সম্পর্কে কিছুই দেখেনি। এই সময়ে রেজাল্ট কী ব্যতীত গুগলে কিছুই নেই।
MDMoore313

1
@ অলিভারসালজবুর্গ সম্ভবত তারা এটিকে অনুমানযুক্ত বলে কারণ এটি আপনার আইএসপি থেকে আলাদা নম্বর প্রদর্শন করতে পারে। সম্ভবত তারা কিছুটা ওভারহেডেরও অনুমান করছেন (যা উইন্ডোজ পরিমাপ করতে পারে না, কারণ এটি অন্য কোথাও যুক্ত হচ্ছে)
ডার্বার্ট

উত্তর:


3

আমার মনে আছে আপনি কখন এই প্রশ্নটি জিজ্ঞাসা করেছিলেন, তবে অবশেষে আমি এটি সন্ধান করার জন্য প্রায় পেয়েছিলাম। আশা করি এটি এখনও আপনার বা অন্য কারও কাজে লাগবে!

আপনি কল করে এই তথ্য অ্যাক্সেস করতে পারেন GetLocalUsage পদ্ধতি ConnectionProfile বস্তু, যা বেতার হয় / সংযোগ (যেমন SSIDs) WAN। গেটলোকলসেজে দুটি ডেটটাইম প্যারামিটার লাগে এবং নির্দিষ্ট ব্যবধানের সময় প্রেরণ এবং প্রাপ্ত ডেটার পরিমাণ সম্বলিত একটি ডেটা ইউজ অবজেক্ট দেয়। আপনি নেটওয়ার্ক ইনফরমেশন এর getConnicationProfiles পদ্ধতিতে কল করে সংযোগপ্রফিল অবজেক্টের একটি তালিকা পেতে পারেন ।

আমি নিম্নলিখিত ফাংশনটি লিখেছি যা তথ্য পুনরুদ্ধার করে এবং কোনও বস্তু ফেরত দেয়। এতে এক বা একাধিক এসএসআইডি পাস করুন এবং optionচ্ছিকভাবে ডেটটাইম শুরু এবং বন্ধ করুন:

function Get-EstimatedDataUsage()
{
    Param(
        [Parameter(Position=0, Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
        [ValidateNotNullOrEmpty()]
        [String]$ProfileName,

        [Parameter(Position=1, Mandatory=$false)]
        [ValidateNotNullOrEmpty()]
        [DateTime]$From,

        [Parameter(Position=2, Mandatory=$false)]
        [ValidateNotNullOrEmpty()]
        [DateTime]$To
    )

    Process
    {
        foreach($profile in $ProfileName)
        {
            try
            {
                [void][Windows.Networking.Connectivity.NetworkInformation,Windows,ContentType=WindowsRuntime]
                $ConnectionProfiles = [Windows.Networking.Connectivity.NetworkInformation]::GetConnectionProfiles() | Where-Object ProfileName -EQ $profile
            }
            catch
            {
                Write-Error 'Unable to create instance of Windows.Networking.Connectivity.NetworkInformation.'
                continue
            }

            foreach($ConnectionProfile in $ConnectionProfiles)
            {
                $ProfileName = $ConnectionProfile.ProfileName

                if($From -eq $null)
                {
                    try
                    {
                        $ResetTime = Get-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Network\DataUsage\Wlan\$ProfileName -Name ResetTime -ErrorAction Stop | Select-Object -ExpandProperty ResetTime
                        $From_determined = [datetime]::FromFileTime($ResetTime)
                    }
                    catch
                    {
                        $From_determined = [datetime]::FromFileTime(0)
                    }
                }
                else
                {
                    $From_determined = $From
                }

                if($To -eq $null)
                {
                    $To_determined = Get-Date
                }
                else
                {
                    $To_determined = $To
                }

                $usage = $ConnectionProfile.GetLocalUsage($From_determined, $To_determined)

                $op = '' | select Name,Received,Sent,From,To

                $op.Name = $ProfileName
                $op.Received = $usage.BytesReceived
                $op.Sent = $usage.BytesSent
                $op.From = $From_determined
                $op.To = $To_determined

                $op

            }
        }
    }
}

দুর্দান্ত, গবেষণা এবং উত্তরের জন্য ধন্যবাদ!
সত্যজিৎ ভাট

1

এই দুটিই MSDN নিবন্ধ সেরা আমি Microsoft থেকে খুঁজে পাইনি http://msdn.microsoft.com/en-us/library/windows/apps/windows.networking.connectivity.datausage.aspx । এটি আপনাকে জানায় যে আপনি কোনও প্রোগ্রাম থেকে এটি কীভাবে কল করতে পারেন, তবে সঠিক তথ্যটি কোথায় সঞ্চয় করা হয় তা নয়। আমি এগুলি সব অনুলিপি এবং আটকানোর জন্য যাচ্ছি না কারণ আপনি কোন ভাষায় প্রোগ্রাম করতে পছন্দ করেন তা আমি জানি না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.