Process.MachineName Process.MachineName Process.MachineName Process.MachineName Property

Definizione

Ottiene il nome del computer sul quale è in esecuzione il processo associato.Gets the name of the computer the associated process is running on.

public:
 property System::String ^ MachineName { System::String ^ get(); };
[System.ComponentModel.Browsable(false)]
public string MachineName { get; }
member this.MachineName : string
Public ReadOnly Property MachineName As String

Valore della proprietà

Nome del computer sul quale è in esecuzione il processo associato.The name of the computer that the associated process is running on.

Eccezioni

A questo oggetto Process non è associato alcun processo.There is no process associated with this Process object.

Esempi

Per usare l'esempio seguente è necessario innanzitutto avviare almeno un'istanza del blocco note in un computer remoto.To use the following example you must first start at least one instance of Notepad on a remote computer. L'esempio richiede il nome del computer remoto in cui è in esecuzione, il blocco note e quindi Visualizza la rispettiva ProcessName, Id, e MachineName proprietà per ogni istanza.The example requests the name of the remote computer on which Notepad is running, and then displays the respective ProcessName, Id, and MachineName properties for each instance.

using System;
using System.Diagnostics;

class GetProcessesByNameClass
{
    public static void Main(string[] args)
    {
        Console.WriteLine("Create notepad processes on remote computer");
        Console.Write("Enter remote computer name : ");
        string remoteMachineName = Console.ReadLine();

        if (remoteMachineName == null)
        {
            // Prepend a new line to prevent it from being on the same line as the prompt.
            Console.WriteLine(Environment.NewLine + "You have to enter a remote computer name.");
            return;
        }

        try
        {
            // Get all notepad processess into Process array.
            Process[] myProcesses = Process.GetProcessesByName("notepad", remoteMachineName);

            if (myProcesses.Length == 0)
                Console.WriteLine("Could not find notepad processes on remote computer.");

            foreach (Process myProcess in myProcesses)
            {
                Console.WriteLine(
                    $"Process Name : {myProcess.ProcessName}\n" +
                    $"Process ID   : {myProcess.Id}\n" +
                    $"MachineName  : {myProcess.MachineName}");
            }
        }
        catch (ArgumentException)
        {
            Console.WriteLine($"The value \'{remoteMachineName}\' is an invalid remote computer name.");
        }
        catch (InvalidOperationException)
        {
            Console.WriteLine("Unable to get process information on the remote computer.");
        }
        catch (PlatformNotSupportedException)
        {
            Console.WriteLine(
                "Finding notepad processes on remote computers " +
                "is not supported on this operating system.");
        }
    }
}
Imports System
Imports System.Diagnostics
Imports Microsoft.VisualBasic

Class GetProcessesByNameClass

    'Entry point which delegates to C-style main Private Function
    Public Overloads Shared Sub Main()
        Main(Environment.GetCommandLineArgs())
    End Sub

    Public Overloads Shared Sub Main(ByVal args() As String)
        Console.WriteLine("Create notepad processes on remote computer")
        Console.Write("Enter remote computer name : ")
        Dim remoteMachineName As String = Console.ReadLine()

        If remoteMachineName Is Nothing Then
            ' Prepend a new line to prevent it from being on the same line as the prompt.
            Console.WriteLine(Environment.NewLine + "You have to enter a remote computer name.")
            Return
        End If

        Try
            ' Get all notepad processess into Process array.
            Dim myProcesses As Process() = Process.GetProcessesByName _
                                                ("notepad", remoteMachineName)
            If myProcesses.Length = 0 Then
                Console.WriteLine("Could not find notepad processes on remote computer.")
            End If
            Dim myProcess As Process
            For Each myProcess In myProcesses
                Console.WriteLine("Process Name : " & myProcess.ProcessName &
                            "  Process ID : " & myProcess.Id &
                            "  MachineName : " & myProcess.MachineName)
            Next myProcess
        Catch e As ArgumentException
            Console.WriteLine("The value '" & remoteMachineName & "' is an invalid remote computer name.")
        Catch e As PlatformNotSupportedException
            Console.WriteLine(
                "Finding notepad processes on remote computers " &
                "is not supported on this operating system.");
        Catch e As InvalidOperationException
            Console.WriteLine("Unable to get process information on the remote computer.")
        End Try
    End Sub 'Main
End Class 'GetProcessesByNameClass

Commenti

È possibile visualizzare i dati statistici e le informazioni sui processi in esecuzione nel computer remoto, ma è possono chiamare Start, CloseMainWindow, o Kill nei computer remoti.You can view statistical data and process information for processes running on remote computers but you cannot call Start, CloseMainWindow, or Kill on remote computers.

Nota

Quando il processo associato è in esecuzione nel computer locale, questa proprietà restituisce un punto (".") per il nome del computer.When the associated process is executing on the local machine, this property returns a period (".") for the machine name. È consigliabile usare il Environment.MachineName proprietà da ottenere il nome del computer corretti.You should use the Environment.MachineName property to get the correct machine name.

Sicurezza

LinkDemand
per un'attendibilità totale per il chiamante immediato.for full trust for the immediate caller. Impossibile utilizzare questo membro in codice parzialmente attendibile.This member cannot be used by partially trusted code.

Si applica a

Vedi anche