Bagikan melalui


New-Item

Membuat item baru.

Sintaks

New-Item
   [-Path] <String[]>
   [-ItemType <String>]
   [-Value <Object>]
   [-Force]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-Item
   [[-Path] <String[]>]
   -Name <String>
   [-ItemType <String>]
   [-Value <Object>]
   [-Force]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-Item
   [-Path] <string[]>
   -ConnectionURI <uri>
   [-ItemType <string>]
   [-Value <Object>]
   [-Force]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-OptionSet <hashtable>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <string>]
   [-SessionOption <SessionOption>]
   [-Port <int>]
   [<CommonParameters>]
New-Item
   [[-Path] <string[]>]
   -Name <string>
   [-ItemType <string>]
   [-Value <Object>]
   [-Force]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-OptionSet <hashtable>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <string>]
   [-SessionOption <SessionOption>]
   [-ApplicationName <string>]
   [-Port <int>]
   [-UseSSL]
   [<CommonParameters>]
New-Item
   [-Path] <string[]>
   [-ItemType <string>]
   [-Value <Object>]
   [-Force]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Options <ScopedItemOptions>]
   [<CommonParameters>]
New-Item
   [[-Path] <string[]>]
   -Name <string>
   [-ItemType <string>]
   [-Value <Object>]
   [-Force]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Options <ScopedItemOptions>]
   [<CommonParameters>]

Deskripsi

New-Item Cmdlet membuat item baru dan menetapkan nilainya. Jenis item yang dapat dibuat bergantung pada lokasi item. Misalnya, dalam sistem file, New-Item membuat file dan folder. Dalam registri, New-Item membuat kunci dan entri registri.

New-Item juga dapat mengatur nilai item yang dibuatnya. Misalnya, saat membuat file baru, New-Item dapat menambahkan konten awal ke file.

Contoh

Contoh 1: Membuat file di direktori saat ini

Perintah ini membuat file teks yang diberi nama "testfile1.txt" di direktori saat ini. Titik ('.') dalam nilai parameter Jalur menunjukkan direktori saat ini. Teks yang dikutip yang mengikuti parameter Nilai ditambahkan ke file sebagai konten.

New-Item -Path . -Name "testfile1.txt" -ItemType "file" -Value "This is a text string."

Contoh 2: Membuat direktori

Perintah ini membuat direktori bernama "Logfiles" di C: drive. Parameter ItemType menentukan bahwa item baru adalah direktori, bukan file atau objek sistem file lainnya.

New-Item -Path "c:\" -Name "logfiles" -ItemType "directory"

Contoh 3: Membuat profil

Perintah ini membuat profil PowerShell di jalur yang ditentukan oleh $profile variabel.

Anda dapat menggunakan profil untuk mengkustomisasi PowerShell. $profile adalah variabel otomatis (bawaan) yang menyimpan jalur dan nama file profil "CurrentUser/CurrentHost". Secara default, profil tidak ada, meskipun PowerShell menyimpan jalur dan nama file untuknya.

Dalam perintah ini, $profile variabel mewakili jalur file. Parameter ItemType menentukan bahwa perintah membuat file. Parameter Force memungkinkan Anda membuat file di jalur profil, bahkan ketika direktori di jalur tidak ada.

Setelah membuat profil, Anda dapat memasukkan alias, fungsi, dan skrip di profil untuk menyesuaikan shell Anda.

Untuk informasi selengkapnya, lihat about_Automatic_Variables dan about_Profiles.

New-Item -Path $profile -ItemType "file" -Force

Contoh 4: Membuat direktori di direktori lain

Contoh ini membuat direktori Skrip baru di direktori "C:\PS-Test".

Nama item direktori baru, "Skrip", disertakan dalam nilai parameter Jalur , alih-alih ditentukan dalam nilai Nama. Seperti yang ditunjukkan oleh sintaksis, salah satu formulir perintah valid.

New-Item -ItemType "directory" -Path "c:\ps-test\scripts"

Contoh 5: Membuat beberapa file

Contoh ini membuat file di dua direktori yang berbeda. Karena Path mengambil beberapa string, Anda dapat menggunakannya untuk membuat beberapa item.

New-Item -ItemType "file" -Path "c:\ps-test\test.txt", "c:\ps-test\Logs\test.log"

Contoh 6: Menggunakan kartubebas untuk membuat file di beberapa direktori

New-Item Cmdlet mendukung kartubebas dalam parameter Jalur. Perintah berikut membuat temp.txt file di semua direktori yang ditentukan oleh kartubebas dalam parameter Jalur .

Get-ChildItem -Path C:\Temp\

Directory:  C:\Temp

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d-----        5/15/2019   6:45 AM        1   One
d-----        5/15/2019   6:45 AM        1   Two
d-----        5/15/2019   6:45 AM        1   Three

New-Item -Path C:\Temp\* -Name temp.txt -ItemType File | Select-Object FullName

FullName
--------
C:\Temp\One\temp.txt
C:\Temp\Three\temp.txt
C:\Temp\Two\temp.txt

Get-ChildItem Cmdlet menunjukkan tiga direktori di C:\Temp bawah direktori. Menggunakan kartubebas New-Item cmdlet membuat temp.txt file di semua direktori di bawah direktori saat ini. New-Item Cmdlet menghasilkan item yang Anda buat, yang disalurkan untuk Select-Object memverifikasi jalur file yang baru dibuat.

Contoh 7: Membuat tautan simbolis ke file atau folder

Contoh ini membuat tautan simbolis ke file Notice.txt di folder saat ini.

$link = New-Item -ItemType SymbolicLink -Path .\link -Target .\Notice.txt
$link | Select-Object LinkType, Target

LinkType     Target
--------     ------
SymbolicLink {.\Notice.txt}

Dalam contoh ini, Target adalah alias untuk parameter Nilai . Target tautan simbolis bisa menjadi jalur relatif. Sebelum PowerShell v6.2, target harus merupakan jalur yang sepenuhnya memenuhi syarat.

Dimulai di PowerShell 7.1, Anda sekarang dapat membuat ke SymbolicLink ke folder di Windows menggunakan jalur relatif.

Contoh 8: Gunakan parameter -Force untuk mencoba membuat ulang folder

Contoh ini membuat folder dengan file di dalamnya. Kemudian, upaya untuk membuat folder yang sama menggunakan -Force. Ini tidak akan menimpa folder tetapi hanya mengembalikan objek folder yang ada dengan file yang dibuat utuh.

PS> New-Item -Path .\TestFolder -ItemType Directory
PS> New-Item -Path .\TestFolder\TestFile.txt -ItemType File

PS> New-Item -Path .\TestFolder -ItemType Directory -Force

    Directory: C:\
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----         5/1/2020   8:03 AM                TestFolder

PS> Get-ChildItem .\TestFolder\

    Directory: C:\TestFolder
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         5/1/2020   8:03 AM              0 TestFile.txt

Contoh 9: Gunakan parameter -Force untuk menimpa file yang ada

Contoh ini membuat file dengan nilai lalu membuat ulang file menggunakan -Force. Ini menimpa file yang ada, seperti yang Anda lihat dengan properti panjang.

PS> New-Item ./TestFile.txt -ItemType File -Value 'This is just a test file'

    Directory: C:\Source\Test
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         5/1/2020   8:32 AM             24 TestFile.txt

New-Item ./TestFile.txt -ItemType File -Force

    Directory: C:\Source\Test
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         5/1/2020   8:32 AM              0 TestFile.txt

Catatan

Saat menggunakan New-Item dengan -Force sakelar untuk membuat kunci registri, perintah akan bertingkah sama seperti saat menimpa file. Jika kunci registri sudah ada, kunci dan semua properti dan nilai akan ditimpa dengan kunci registri kosong.

Parameter

-ApplicationName

Ini adalah parameter dinamis yang disediakan oleh penyedia WSMan . Penyedia WSMan dan parameter ini hanya tersedia di Windows.

Menentukan nama aplikasi dalam koneksi. Nilai default parameter ApplicationName adalah WSMAN.

Untuk informasi selengkapnya, lihat New-WSManInstance.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Authentication

Ini adalah parameter dinamis yang disediakan oleh penyedia WSMan . Penyedia WSMan dan parameter ini hanya tersedia di Windows.

Menentukan mekanisme autentikasi yang akan digunakan di server.

Untuk informasi selengkapnya, lihat New-WSManInstance.

Jenis:AuthenticationMechanism
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-CertificateThumbprint

Ini adalah parameter dinamis yang disediakan oleh penyedia WSMan . Penyedia WSMan dan parameter ini hanya tersedia di Windows.

Menentukan sertifikat kunci publik digital (X509) dari akun pengguna yang memiliki izin untuk melakukan tindakan WSMan ini. Masukkan thumbprint sertifikat sertifikat.

Untuk informasi selengkapnya, lihat New-WSManInstance.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Confirm

Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.

Jenis:SwitchParameter
Alias:cf
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-ConnectionURI

Ini adalah parameter dinamis yang disediakan oleh penyedia WSMan . Penyedia WSMan dan parameter ini hanya tersedia di Windows.

Menentukan titik akhir koneksi untuk WSMan.

Untuk informasi selengkapnya, lihat New-WSManInstance.

Jenis:Uri
Position:Named
Nilai default:None
Diperlukan:True
Terima input alur:False
Terima karakter wildcard:False

-Credential

Catatan

Parameter ini tidak didukung oleh penyedia apa pun yang diinstal dengan PowerShell. Untuk meniru pengguna lain atau meningkatkan kredensial Anda saat menjalankan cmdlet ini, gunakan Invoke-Command.

Jenis:PSCredential
Position:Named
Nilai default:Current user
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-Force

Memaksa cmdlet ini untuk membuat item yang menulis di atas item baca-saja yang ada. Implementasi bervariasi dari penyedia ke penyedia. Bahkan menggunakan parameter Force , cmdlet tidak dapat mengambil alih pembatasan keamanan.

Dimulai di PowerShell 7.4, parameter ini juga memungkinkan Anda untuk menimpa Persimpangan yang ada. Sebelumnya, ini akan gagal dengan kesalahan "tidak dapat dihapus karena tidak kosong".

Jenis:SwitchParameter
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-ItemType

Menentukan tipe item baru yang ditentukan penyedia. Nilai yang tersedia dari parameter ini bergantung pada penyedia saat ini yang Anda gunakan.

Jika lokasi Anda berada dalam FileSystem drive, nilai berikut diizinkan:

  • File
  • Direktori
  • SymbolicLink
  • Persimpangan
  • HardLink

Catatan

Membuat SymbolicLink jenis pada Windows memerlukan elevasi sebagai administrator. Namun, Windows 10 (build 14972 atau yang lebih baru) dengan Mode Pengembang diaktifkan tidak lagi memerlukan elevasi yang membuat tautan simbolis.

Certificate Dalam drive, ini adalah nilai yang dapat Anda tentukan:

  • Penyedia Sertifikat
  • Sertifikat
  • Bursa
  • StoreLocation

Untuk informasi selengkapnya, lihat about_Providers.

Jenis:String
Alias:Type
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-Name

Menentukan nama item baru. Anda dapat menentukan nama item baru dalam nilai parameter Nama atau Jalur , dan Anda dapat menentukan jalur item baru di nilai Nama atau Jalur . Nama item yang diteruskan menggunakan parameter Nama dibuat relatif terhadap nilai parameter Jalur .

Jenis:String
Position:Named
Nilai default:None
Diperlukan:True
Terima input alur:True
Terima karakter wildcard:False

-Options

Ini adalah parameter dinamis yang disediakan oleh penyedia Alias . Untuk informasi selengkapnya, lihat New-Alias.

Menentukan nilai properti Opsi alias.

Nilai yang valid adalah:

  • None: Alias tidak memiliki batasan (nilai default)
  • ReadOnly: Alias dapat dihapus tetapi tidak dapat diubah tanpa menggunakan parameter Paksa
  • Constant: Alias tidak dapat dihapus atau diubah
  • Private: Alias hanya tersedia dalam cakupan saat ini
  • AllScope: Alias disalin ke cakupan baru apa pun yang dibuat
  • Unspecified: Opsi tidak ditentukan
Jenis:ScopedItemOptions
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-OptionSet

Ini adalah parameter dinamis yang disediakan oleh penyedia WSMan . Penyedia WSMan dan parameter ini hanya tersedia di Windows.

Meneruskan sekumpulan sakelar ke layanan untuk memodifikasi atau menyempurnakan sifat permintaan.

Untuk informasi selengkapnya, lihat New-WSManInstance.

Jenis:Hashtable
Alias:OS
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Path

Menentukan jalur lokasi item baru. Defaultnya adalah lokasi saat ini ketika Jalur dihilangkan. Anda dapat menentukan nama item baru di Nama, atau menyertakannya di Jalur. Nama item yang diteruskan menggunakan parameter Nama dibuat relatif terhadap nilai parameter Jalur .

Untuk cmdlet ini, parameter Jalur berfungsi seperti parameter LiteralPath dari cmdlet lain. Karakter kartubebas tidak ditafsirkan. Semua karakter diteruskan ke penyedia lokasi. Penyedia mungkin tidak mendukung semua karakter. Misalnya, Anda tidak dapat membuat nama file yang berisi karakter tanda bintang (*).

Jenis:String[]
Position:0
Nilai default:Current location
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-Port

Ini adalah parameter dinamis yang disediakan oleh penyedia WSMan . Penyedia WSMan dan parameter ini hanya tersedia di Windows.

Menentukan port yang akan digunakan ketika klien tersambung ke layanan WinRM.

Untuk informasi selengkapnya, lihat New-WSManInstance.

Jenis:Int32
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-SessionOption

Ini adalah parameter dinamis yang disediakan oleh penyedia WSMan . Penyedia WSMan dan parameter ini hanya tersedia di Windows.

Menentukan sekumpulan opsi yang diperluas untuk sesi WS-Management.

Untuk informasi selengkapnya, lihat New-WSManInstance.

Jenis:SessionOption
Alias:SO
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-UseSSL

Ini adalah parameter dinamis yang disediakan oleh penyedia WSMan . Penyedia WSMan dan parameter ini hanya tersedia di Windows.

Menentukan bahwa protokol Secure Sockets Layer (SSL) harus digunakan untuk membuat koneksi ke komputer jarak jauh. Secara default, SSL tidak digunakan.

Untuk informasi selengkapnya, lihat New-WSManInstance.

Jenis:SwitchParameter
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Value

Menentukan nilai item baru. Anda juga dapat menyalurkan nilai ke New-Item.

Jenis:Object
Alias:Target
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-WhatIf

Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.

Jenis:SwitchParameter
Alias:wi
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

Input

Object

Anda dapat menyalurkan nilai untuk item baru ke cmdlet ini.

Output

DictionaryEntry

Cmdlet mengembalikan objek DictionaryEntry saat membuat variabel lingkungan baru.

DirectoryInfo

Cmdlet mengembalikan objek DirectoryInfo saat membuat direktori baru di sistem file.

FileInfo

Cmdlet mengembalikan objek FileInfo saat membuat file baru di sistem file.

AliasInfo

Cmdlet mengembalikan objek AliasInfo saat membuat alias baru.

FunctionInfo

Cmdlet mengembalikan objek FunctionInfo saat membuat fungsi baru.

PSVariable

Cmdlet mengembalikan objek PSVariable saat membuat variabel baru.

Catatan

PowerShell menyertakan alias berikut untuk New-Item:

  • Semua platform:
    • ni

New-Item dirancang untuk bekerja dengan data yang diekspos oleh penyedia mana pun. Untuk mencantumkan penyedia yang tersedia di sesi Anda, ketik Get-PsProvider. Untuk informasi selengkapnya, lihat about_Providers.