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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:AuthenticationMechanism
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:Uri
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Anda tidak dapat menggunakan Paksa untuk menimpa Persimpangan yang ada. Upaya untuk menimpa Persimpangan yang ada gagal dengan kesalahan "tidak dapat dihapus karena tidak kosong". Anda harus menghapus Persimpangan yang ada sebelum membuat yang baru.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Aliases:Type
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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 .

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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
Type:ScopedItemOptions
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:Hashtable
Aliases:OS
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 (*).

Type:String[]
Position:0
Default value:Current location
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SessionOption
Aliases:SO
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Value

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

Type:Object
Aliases:Target
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.