NET- এ কম্পিউটারের নামটি কীভাবে পাব


285

নেট নেট # তে কম্পিউটারের নামটি কীভাবে পাব?

c#  .net 

সদৃশ প্রশ্ন লিঙ্ক
মালাচি

1
@ মালাচি, সেই প্রশ্নটি উইন্ডোজ পরিষেবাদি সম্পর্কে।
স্যাম

2
@ সাম একটি উইন্ডোজ পরিষেবা কেবল একটি উইন্ডোজ অ্যাপ্লিকেশন যা পটভূমিতে চলে, তাই সত্যই এটি একই জিনিস।
মালাচি

@ মালাচি, হ্যাঁ, আপনি কী বলতে চাইছেন তা আমি জানি। তবে আমি মনে করি যে এএসপি.এনইটি-নির্দিষ্ট এবং উইনফর্মস-নির্দিষ্ট পদ্ধতির উল্লেখগুলি এই প্রশ্নের উত্তরে এটি করার পদ্ধতি সম্ভবত এই প্রশ্নটিতে প্রযোজ্য হবে না।
স্যাম

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

উত্তর:


400

দেখুন সি # /। জালে স্থানীয় মেশিনের FQDN এটি কীভাবে? যদি শেষটি আপনাকে এফকিউডিএন দেয় না এবং আপনার এটির প্রয়োজন হয়।

সিস্টেম-ইনফরমেশন.কম্পিউটারনাম, এনভায়রনমেন্ট.ম্যাসাইননাম, এবং নেট.ডেন্স.গেটহোস্টনামের মধ্যে পার্থক্য সম্পর্কে বিশদ দেখুন See


3
@ টানফসন: পার্থক্য কী? মানে আমার কোনটি ব্যবহার করা উচিত? এটির কি কোনও সুরক্ষা জড়িত?
পিকে

26
আমি প্রথমটি কনসোল বা উইনফর্ম অ্যাপ্লিকেশন, দ্বিতীয়টি ওয়েব অ্যাপ্লিকেশন থেকে এবং তৃতীয়টি যদি আমার এফকিউডিএন প্রয়োজন হয় তবে ব্যবহার করব। প্রয়োজনীয় অনুমতি সম্পর্কিত তথ্যের জন্য রেফারেন্সড ডকুমেন্টেশন দেখুন।
tvanfosson

1
@ ট্যাভানফসন এই তিনটিই আমাকে সার্ভারের নাম পান এবং ক্লায়েন্টের মেশিনটি নয় যা পৃষ্ঠাটি অ্যাক্সেস করছে। এটি কি এইভাবে কাজ করে? বা আমি ভুলভাবে কিছু করছি আমি ক্লায়েন্টদের মেশিনটি পেতে চাই, সার্ভারটি নয়। আমি এসপি নেট ২.০
রায়ান এস

2
আমি শুধু এই পরীক্ষা করে দেখা গেছে যে Dns.GetHostName() করা হয়নি সম্পূর্ণরূপে যোগ্যতাসম্পন্ন নাম দিন।
স্যাম

5
মনে রাখবেন যে System.Enviornment.MachineName কেবল আপনাকে নেটবিআইওএস নাম দিতে চলেছে, সুতরাং হোস্টের নাম যদি 15 টি অক্ষরের বেশি হয় তবে আপনার পুরো নাম প্রয়োজন হলে আপনি সমস্যার মুখোমুখি হবেন। আমি অন্যের পক্ষে কথা বলতে পারি না।
এলোমেলো ইনসানো

78

System.Environment.MachineName

অথবা, যদি আপনি উইনফর্মগুলি ব্যবহার করেন তবে আপনি ব্যবহার করতে পারেন System.Windows.Forms.SystemInformation.ComputerNameযা ঠিক একই মানটি প্রদান করে System.Environment.MachineName



23

মেশিনের নাম বা কম্পিউটারের নাম পেতে কিছু পদ্ধতি নীচে দেওয়া হয়েছে

পদ্ধতি 1: -

string MachineName1 = Environment.MachineName;

পদ্ধতি 2: -

string MachineName2 = System.Net.Dns.GetHostName();

পদ্ধতি 3: -

string MachineName3 = Request.ServerVariables["REMOTE_HOST"].ToString();

পদ্ধতি 4: -

string MachineName4 = System.Environment.GetEnvironmentVariable("COMPUTERNAME");

আরও জন্য আমার ব্লগ দেখুন




15

ওয়েল এর আরও একটি উপায় রয়েছে: উইন্ডোজ ম্যানেজমেন্ট ইনস্ট্রুমেন্টেশন

using System.Management;

try
        {
            ManagementObjectSearcher searcher =
                new ManagementObjectSearcher("root\\CIMV2",
                "SELECT Name FROM Win32_ComputerSystem");

            foreach (ManagementObject queryObj in searcher.Get())
            {
                Console.WriteLine("-----------------------------------");
                Console.WriteLine("Win32_ComputerSystem instance");
                Console.WriteLine("-----------------------------------");
                Console.WriteLine("Name: {0}", queryObj["Name"]);
            }
        }
        catch (ManagementException e)
        {
            // exception handling
        }

দুটিই MSDN

WMI

ডাব্লুএমআই কোড স্রষ্টা

প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী


4

এটা চেষ্টা কর:

string[] computer_name = System.Net.Dns.GetHostEntry(System.Web.HttpContext.Current.Request.ServerVariables["remote_addr"]).HostName.Split(new Char[] { '.' });
return computer_name[0].ToString();

1
ডিএনএসের নাম এবং সংজ্ঞা পৃথক হতে পারে। সে তুলনা চেয়েছে!
মার্শ-উইগল

4

আমি <p>আমার ওয়েব প্রকল্পের জন্য বন্ধুর .InnerHtml নিম্নলিখিত ব্যবহারকারীর কম্পিউটার নামে সেট করেছি:

এইচটিএমএল:

    <div class="col-md-4">
       <h2>Your Computer Name Is</h2>
       <p id="pcname" runat="server"></p>
       <p>
           <a class="btn btn-default" href="#">Learn more &raquo;</a>
       </p>
    </div>

সি #:

using System;
using System.Web.UI;

namespace GetPCName {
   public partial class _Default : Page {
    protected void Page_Load(object sender, EventArgs e) {            
        pcname.InnerHtml = Environment.MachineName;
    }
   }
}

1

আরও 2 সহায়ক পদ্ধতি: সিস্টেম.এনভায়রনমেন্ট.গেট এনভায়রনমেন্ট ভেরিয়েবল ("কম্পিউটারনাম")

সিস্টেম.এনভায়রনমেন্ট.গেট এনভায়রনমেন্ট ভেরিয়েবল ("ক্লায়েন্টনাম") ব্যবহারকারীর পিসির নাম পেতে যদি তারা সিট্রিক্স জেন অ্যাপ বা টার্মিনাল সার্ভিসের (ওরফে আরডিএস, আরডিপি, রিমোট ডেস্কটপ) মাধ্যমে সংযুক্ত থাকে


1

আর একবার চেষ্টা কর.

public static string GetFQDN()
{
    string domainName = NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().DomainName;
    string hostName = Dns.GetHostName();
    string fqdn;
    if (!hostName.Contains(domainName))
        fqdn = hostName + "." +domainName;
    else
        fqdn = hostName;

    return fqdn;
}

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