New-PSWorkflowSession
Membuat sesi alur kerja.
Sintaks
New-PSWorkflowSession
[[-ComputerName] <String[]>]
[-Credential <Object>]
[-Name <String[]>]
[-Port <Int32>]
[-UseSSL]
[-ApplicationName <String>]
[-ThrottleLimit <Int32>]
[-SessionOption <PSSessionOption>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-EnableNetworkAccess]
[<CommonParameters>]
Deskripsi
Cmdlet New-PSWorkflowSession
membuat sesi yang dikelola pengguna (PSSession) yang dirancang khusus untuk menjalankan alur kerja Windows PowerShell. Ini menggunakan microsoft.PowerShell.Workflow konfigurasi sesi, yang mencakup skrip, jenis dan pemformatan file, dan opsi yang diperlukan untuk alur kerja.
Anda dapat menggunakan New-PSWorkflowSession
atau aliasnya, nwsn
.
Anda juga dapat menambahkan parameter umum alur kerja ke perintah ini. Untuk informasi selengkapnya tentang parameter umum alur kerja, lihat about_WorkflowCommonParameters
Cmdlet ini diperkenalkan di Windows PowerShell 3.0.
Contoh
Contoh 1: Membuat sesi alur kerja di komputer jarak jauh
Contoh ini membuat sesi WorkflowTests di komputer jarak jauh ServerNode01.
$params = @{
ComputerName = "ServerNode01"
Name = "WorkflowTests"
SessionOption = (New-PSSessionOption -OutputBufferingMode Drop)
}
New-PSWorkflowSession @params
Nilai parameter SessionOption adalah perintah New-PSSessionOption
yang mengatur mode buffering output dalam sesi ke Drop.
Contoh 2: Membuat sesi alur kerja di beberapa komputer jarak jauh
Contoh ini membuat sesi alur kerja di komputer ServerNode01 dan Server12. Perintah menggunakan parameter Kredensial untuk dijalankan dengan izin administrator domain.
"ServerNode01", "Server12" |
New-PSWorkflowSession -Name WorkflowSession -Credential Domain01\Admin01 -ThrottleLimit 150
Perintah ini menggunakan parameter ThrottleLimit untuk meningkatkan batas pembatasan per perintah ke 150
. Nilai ini lebih diutamakan daripada batas pembatasan default 100
yang diatur dalam konfigurasi sesi Microsoft.PowerShell.Workflow.
Parameter
-ApplicationName
Menentukan segmen nama aplikasi dari URI koneksi.
Nilai default adalah nilai variabel preferensi $PSSessionApplicationName
di komputer lokal. Jika variabel preferensi ini tidak ditentukan, nilai defaultnya adalah WSMAN. Nilai ini sesuai untuk sebagian besar penggunaan. Untuk informasi selengkapnya, lihat about_Preference_Variables.
Layanan WinRM menggunakan nama aplikasi untuk memilih pendengar untuk melayani permintaan koneksi. Nilai parameter ini harus cocok dengan nilai URLPrefix properti listener di komputer jarak jauh.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Authentication
Menentukan mekanisme yang digunakan untuk mengautentikasi kredensial pengguna. Nilai yang dapat diterima untuk parameter ini adalah:
Default
Basic
Credssp
Digest
Kerberos
Negotiate
NegotiateWithImplicitCredential
Nilai defaultnya adalah Default
.
Autentikasi CredSSP hanya tersedia di Windows Vista, Windows Server 2008, dan versi sistem operasi Windows yang lebih baru.
Untuk informasi selengkapnya tentang nilai parameter ini, lihat AuthenticationMechanism Enumeration.
Hati
Autentikasi Penyedia Layanan Keamanan Kredensial (CredSSP), di mana kredensial pengguna diteruskan ke komputer jarak jauh untuk diautentikasi, dirancang untuk perintah yang memerlukan autentikasi pada lebih dari satu sumber daya, seperti mengakses berbagi jaringan jarak jauh. Mekanisme ini meningkatkan risiko keamanan operasi jarak jauh. Jika komputer jarak jauh disusupi, kredensial yang diteruskan ke komputer jarak jauh dapat digunakan untuk mengontrol sesi jaringan.
Jenis: | AuthenticationMechanism |
Nilai yang diterima: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Nilai default: | Default |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-CertificateThumbprint
Menentukan sertifikat kunci publik digital (X509) dari akun pengguna yang memiliki izin untuk melakukan tindakan ini. Masukkan thumbprint sertifikat sertifikat.
Sertifikat digunakan dalam autentikasi berbasis sertifikat klien. Mereka hanya dapat dipetakan ke akun pengguna lokal; mereka tidak bekerja dengan akun domain.
Untuk mendapatkan thumbprint sertifikat, gunakan cmdlet Get-Item
atau cmdlet Get-ChildItem
di drive Cert:
Windows PowerShell.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ComputerName
Membuat koneksi persisten (PSSession) ke komputer yang ditentukan. Jika Anda memasukkan beberapa nama komputer, Windows PowerShell membuat beberapa PSSessions, satu untuk setiap komputer. Defaultnya adalah komputer lokal.
Ketik nama NetBIOS, alamat IP, atau nama domain yang sepenuhnya memenuhi syarat dari satu atau beberapa komputer jarak jauh. Untuk menentukan komputer lokal, ketik nama komputer, localhost
, atau titik (.
). Ketika komputer berada di domain yang berbeda dari pengguna, nama domain yang sepenuhnya memenuhi syarat diperlukan.
Anda juga dapat menyalurkan nama komputer, dalam tanda kutip ke New-PSWorkflowSession
.
Untuk menggunakan alamat IP dalam nilai parameter ComputerName, perintah harus menyertakan parameter Kredensial. Selain itu, komputer harus dikonfigurasi untuk transportasi HTTPS atau alamat IP komputer jarak jauh harus disertakan dalam daftar WinRM TrustedHosts di komputer lokal. Untuk instruksi untuk menambahkan nama komputer ke daftar TrustedHosts, lihat "Cara Menambahkan Komputer ke Daftar Host Tepercaya" di about_Remote_Troubleshooting.
Jenis: | String[] |
Alias: | Cn |
Position: | 0 |
Nilai default: | Local computer |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Credential
Menentukan akun pengguna yang memiliki izin untuk melakukan tindakan ini. Defaultnya adalah pengguna saat ini. Ketik nama pengguna, seperti User01
, Domain01\User01
, atau User@Domain.com
, atau masukkan objek PSCredential, seperti yang dikembalikan oleh cmdlet Get-Credential
.
Saat Anda mengetik nama pengguna, cmdlet ini meminta kata sandi kepada Anda.
Jenis: | Object |
Position: | Named |
Nilai default: | Current user |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-EnableNetworkAccess
Menunjukkan bahwa cmdlet ini menambahkan token keamanan interaktif ke sesi loopback. Token interaktif memungkinkan Anda menjalankan perintah dalam sesi loopback yang mendapatkan data dari komputer lain. Misalnya, Anda dapat menjalankan perintah dalam sesi yang menyalin file XML dari komputer jarak jauh ke komputer lokal.
Sesi loopback adalah PSSession yang berasal dan berakhir pada komputer yang sama. Untuk membuat sesi loopback, jangan tentukan parameter ComputerName atau atur nilainya ke titik (.
), localhost
, atau nama komputer lokal.
Secara default, sesi loopback dibuat yang memiliki token jaringan, yang mungkin tidak menyediakan izin yang memadai untuk mengautentikasi ke komputer jarak jauh.
Parameter EnableNetworkAccess hanya efektif dalam sesi loopback. Jika Anda menentukan parameter EnableNetworkAccess saat Anda membuat sesi di komputer jarak jauh, perintah berhasil, tetapi parameter diabaikan.
Anda juga dapat mengizinkan akses jarak jauh dalam sesi loopback dengan menggunakan nilai CredSSP parameter Autentikasi, yang mendelegasikan kredensial sesi ke komputer lain.
Untuk melindungi komputer dari akses berbahaya, sesi loopback terputus yang memiliki token interaktif, yang dibuat dengan menggunakan parameter EnableNetworkAccess, hanya dapat disambungkan kembali dari komputer tempat sesi dibuat. Sesi terputus yang menggunakan autentikasi CredSSP dapat disambungkan kembali dari komputer lain. Untuk informasi selengkapnya, lihat cmdlet Disconnect-PSSession
.
Parameter ini diperkenalkan di Windows PowerShell 3.0.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Name
Menentukan nama yang mudah diingat untuk sesi alur kerja. Anda dapat menggunakan nama dengan cmdlet lain, seperti Get-PSSession
dan Enter-PSSession
. Nama ini tidak diharuskan unik untuk komputer atau sesi saat ini.
Jenis: | String[] |
Position: | Named |
Nilai default: | Session# |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Port
Menentukan port jaringan pada komputer jarak jauh yang digunakan untuk sambungan ini. Untuk tersambung ke komputer jarak jauh, komputer jarak jauh harus mendengarkan porta yang digunakan koneksi. Port default adalah 5985
(port WinRM untuk HTTP) dan 5986
(port WinRM untuk HTTPS).
Sebelum menggunakan port lain, Anda harus mengonfigurasi pendengar WinRM di komputer jarak jauh untuk mendengarkan di port tersebut. Gunakan perintah berikut untuk mengonfigurasi listener:
winrm delete winrm/config/listener?Address=*+Transport=HTTP
winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}
Jangan gunakan parameter Port kecuali Anda harus. Pengaturan port dalam perintah berlaku untuk semua komputer atau sesi tempat perintah dijalankan. Pengaturan port alternatif mungkin mencegah perintah berjalan pada semua komputer.
Jenis: | Int32 |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-SessionOption
Menentukan opsi tingkat lanjut untuk sesi tersebut. Masukkan objek SessionOption, seperti objek yang Anda buat dengan menggunakan cmdlet New-PSSessionOption
.
Nilai default untuk opsi ditentukan oleh nilai variabel preferensi $PSSessionOption
, jika diatur. Jika tidak, nilai default ditetapkan oleh opsi yang diatur dalam konfigurasi sesi.
Nilai opsi sesi lebih diutamakan daripada nilai default untuk sesi yang diatur dalam variabel preferensi $PSSessionOption
dan dalam konfigurasi sesi. Namun, mereka tidak lebih diutamakan daripada nilai, kuota, atau batas maksimum yang ditetapkan dalam konfigurasi sesi. Untuk informasi selengkapnya tentang konfigurasi sesi, lihat about_Session_Configurations.
Untuk deskripsi opsi sesi, termasuk nilai default, lihat New-PSSessionOption
.
Untuk informasi tentang variabel preferensi $PSSessionOption
, lihat about_Preference_Variables.
Jenis: | PSSessionOption |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ThrottleLimit
Menentukan jumlah maksimum koneksi bersamaan yang dapat dibuat untuk menjalankan perintah ini.
Jika Anda menghilangkan parameter ini atau memasukkan nilai 0
(nol), nilai default untuk konfigurasi sesi Microsoft.PowerShellWorkflow, 100
, digunakan.
Batas pembatasan hanya berlaku untuk perintah saat ini, bukan ke sesi atau ke komputer.
Jenis: | Int32 |
Position: | Named |
Nilai default: | 100 |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-UseSSL
Menunjukkan bahwa cmdlet ini menggunakan protokol Secure Sockets Layer (SSL) untuk membuat koneksi ke komputer jarak jauh. Secara default, SSL tidak digunakan.
WS-Management mengenkripsi semua konten Windows PowerShell yang dikirimkan melalui jaringan. Parameter UseSSL adalah perlindungan tambahan yang mengirim data di seluruh koneksi HTTPS alih-alih koneksi HTTP.
Jika Anda menentukan parameter ini, tetapi SSL tidak tersedia pada port yang digunakan untuk perintah, perintah gagal.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
Anda dapat menyalurkan sesi ke cmdlet ini.
Anda dapat menyalurkan nama komputer ke cmdlet ini.
Output
Catatan
Windows PowerShell menyertakan alias berikut untuk New-PSWorkflowSession
:
nwsn
Perintah New-PSWorkflowSession
setara dengan perintah berikut:
New-PSSession -ConfigurationName Microsoft.PowerShell.Workflow