이 샘플에서는 원격 연결을 설정하는 데 사용되는 원격 Runspace를 만드는 방법을 보여줍니다.
요구 사항
이 샘플에는 Windows PowerShell 2.0이 필요합니다.
입증합니다
system.Management.Automation.Runspaces.WSManConnectionInfo 개체를 만듭니다.
system.Management.Automation.Runspaces.Runspaces.RunspaceConnectionInfo.OperationTimeout* 및 System.Management.Automation.Runspaces.RunspaceConnectionInfo.OpenTimeout* 속성을 System.Management.Automation.Runspaces.WSManConnectionInfo 개체의 속성을 설정합니다.
System.Management.Automation.Runspaces.WSManConnectionInfo 개체를 사용하여 원격 연결을 설정하는 원격 Runspace를 만듭니다.
원격 연결을 해제하기 위해 원격 Runspace를 닫습니다.
예시
이 샘플에서는 원격 연결을 정의한 다음 해당 연결 정보를 사용하여 원격 연결을 설정합니다.
namespace Microsoft.Samples.PowerShell.Runspaces
{
using System;
using System.Management.Automation; // Windows PowerShell namespace.
using System.Management.Automation.Runspaces; // Windows PowerShell namespace.
/// <summary>
/// This class contains the Main entry point for the application.
/// </summary>
internal class RemoteRunspace01
{
/// <summary>
/// This sample shows how to use a WSManConnectionInfo object to set
/// various timeouts and how to establish a remote connection.
/// </summary>
/// <param name="args">This parameter is not used.</param>
public static void Main(string[] args)
{
// Create a WSManConnectionInfo object using the default constructor
// to connect to the "localHost". The WSManConnectionInfo object can
// also specify connections to remote computers.
WSManConnectionInfo connectionInfo = new WSManConnectionInfo();
// Set the OperationTimeout property. The OperationTimeout is used to tell
// Windows PowerShell how long to wait (in milliseconds) before timing out
// for any operation. This includes sending input data to the remote computer,
// receiving output data from the remote computer, and more. The user can
// change this timeout depending on whether the connection is to a computer
// in the data center or across a slow WAN.
connectionInfo.OperationTimeout = 4 * 60 * 1000; // 4 minutes.
// Set the OpenTimeout property. OpenTimeout is used to tell Windows PowerShell
// how long to wait (in milliseconds) before timing out while establishing a
// remote connection. The user can change this timeout depending on whether the
// connection is to a computer in the data center or across a slow WAN.
connectionInfo.OpenTimeout = 1 * 60 * 1000; // 1 minute.
// Create a remote runspace using the connection information.
using (Runspace remoteRunspace = RunspaceFactory.CreateRunspace(connectionInfo))
{
// Establish the connection by calling the Open() method to open the runspace.
// The OpenTimeout value set previously will be applied while establishing
// the connection. Establishing a remote connection involves sending and
// receiving some data, so the OperationTimeout will also play a role in this process.
remoteRunspace.Open();
// Add the code to run commands in the remote runspace here. The
// OperationTimeout value set previously will play a role here because
// running commands involves sending and receiving data.
// Close the connection. Call the Close() method to close the remote
// runspace. The Dispose() method (called by using primitive) will call
// the Close() method if it is not already called.
remoteRunspace.Close();
}
}
}
}
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
PowerShell