New-Item

Yeni bir öğe oluşturur.

Syntax

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>]

Description

New-Item Cmdlet yeni bir öğe oluşturur ve değerini ayarlar. Oluşturulabilecek öğe türleri, öğenin konumuna bağlıdır. Örneğin, dosya sisteminde New-Item dosya ve klasörler oluşturur. Kayıt defterinde kayıt New-Item defteri anahtarları ve girdileri oluşturur.

New-Item , oluşturduğu öğelerin değerini de ayarlayabilir. Örneğin, yeni bir dosya oluşturduğunda, New-Item dosyaya ilk içeriği ekleyebilir.

Örnekler

Örnek 1: Geçerli dizinde dosya oluşturma

Bu komut, geçerli dizinde "testfile1.txt" adlı bir metin dosyası oluşturur. Path parametresinin değerindeki nokta ('.'), geçerli dizini gösterir. Value parametresini izleyen tırnak içine alınmış metin dosyaya içerik olarak eklenir.

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

Örnek 2: Dizin oluşturma

Bu komut, sürücüde C: "Logfiles" adlı bir dizin oluşturur. ItemType parametresi, yeni öğenin bir dosya veya başka bir dosya sistemi nesnesi değil bir dizin olduğunu belirtir.

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

Örnek 3: Profil oluşturma

Bu komut, değişken tarafından $profile belirtilen yolda bir PowerShell profili oluşturur.

PowerShell'i özelleştirmek için profilleri kullanabilirsiniz. $profile , "CurrentUser/CurrentHost" profilinin yolunu ve dosya adını depolayan otomatik (yerleşik) bir değişkendir. Varsayılan olarak, PowerShell bunun için bir yol ve dosya adı depolasa bile profil yoktur.

Bu komutta $profile , değişkeni dosyanın yolunu temsil eder. ItemType parametresi, komutun bir dosya oluşturduğunu belirtir. Force parametresi, yoldaki dizinler mevcut olmasa bile profil yolunda bir dosya oluşturmanıza olanak tanır.

Profil oluşturduktan sonra, kabuğunuzu özelleştirmek için profile diğer adlar, işlevler ve betikler girebilirsiniz.

Daha fazla bilgi için bkz . about_Automatic_Variables ve about_Profiles.

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

Örnek 4: Farklı bir dizinde dizin oluşturma

Bu örnek, "C:\PS-Test" dizininde yeni bir Betikler dizini oluşturur.

Yeni dizin öğesinin adı olan "Betikler", Ad değerinde belirtilme yerine Path parametresinin değerine eklenir. Söz diziminde belirtildiği gibi, her iki komut formu da geçerlidir.

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

Örnek 5: Birden çok dosya oluşturma

Bu örnek iki farklı dizinde dosya oluşturur. Yol birden çok dize aldığından, birden çok öğe oluşturmak için bunu kullanabilirsiniz.

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

Örnek 6: Birden çok dizinde dosya oluşturmak için joker karakter kullanma

Cmdlet, New-Item Path parametresindeki joker karakterleri destekler. Aşağıdaki komut, Path parametresindeki joker karakterler tarafından belirtilen tüm dizinlerde bir temp.txt dosya oluşturur.

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

cmdlet'i Get-ChildItem dizinin altında C:\Temp üç dizin gösterir. Cmdlet joker karakterler New-Item kullanarak geçerli dizin altındaki tüm dizinlerde bir temp.txt dosya oluşturur. New-Item Cmdlet, yeni oluşturulan dosyaların yollarını doğrulamak için Select-Object yöneltilen, oluşturduğunuz öğelerin çıkışını alır.

Örnek 7: Dosya veya klasöre sembolik bağlantı oluşturma

Bu örnek, geçerli klasördeki Notice.txt dosyasına sembolik bir bağlantı oluşturur.

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

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

Bu örnekte Target, Value parametresi için bir diğer addır. Sembolik bağlantının hedefi göreli bir yol olabilir. PowerShell v6.2 sürümünden önce hedefin tam yol olması gerekir.

PowerShell 7.1'de başlayarak, artık göreli bir yol kullanarak Windows'taki bir klasöre SymbolicLink oluşturabilirsiniz.

Örnek 8: Klasörleri yeniden oluşturmak için -Force parametresini kullanın

Bu örnek, içinde dosya bulunan bir klasör oluşturur. Ardından, kullanarak -Forceaynı klasörü oluşturmayı dener. Klasörün üzerine yazılmaz, ancak var olan klasör nesnesini olduğu gibi oluşturulan dosyayla döndürür.

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

Örnek 9: Varolan dosyaların üzerine yazmak için -Force parametresini kullanın

Bu örnek, değeri olan bir dosya oluşturur ve kullanarak dosyayı -Forceyeniden oluşturur. Bu, length özelliği tarafından görebileceğiniz gibi var olan dosyanın üzerine yazar.

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

Not

New-Item Kayıt defteri anahtarları oluşturmak için anahtarı ile kullanırken-Force, komut dosyanın üzerine yazılırken olduğu gibi davranır. Kayıt defteri anahtarı zaten varsa, anahtarın ve tüm özelliklerin ve değerlerin üzerine boş bir kayıt defteri anahtarı yazılır.

Parametreler

-ApplicationName

Bu, WSMan sağlayıcısı tarafından sağlanan dinamik bir parametredir. WSMan sağlayıcısı ve bu parametre yalnızca Windows'ta kullanılabilir.

Bağlantıdaki uygulama adını belirtir. ApplicationName parametresinin varsayılan değeri WSMAN'dır.

Daha fazla bilgi için bkz . New-WSManInstance.

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

-Authentication

Bu, WSMan sağlayıcısı tarafından sağlanan dinamik bir parametredir. WSMan sağlayıcısı ve bu parametre yalnızca Windows'ta kullanılabilir.

Sunucuda kullanılacak kimlik doğrulama mekanizmasını belirtir.

Daha fazla bilgi için bkz . New-WSManInstance.

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

-CertificateThumbprint

Bu, WSMan sağlayıcısı tarafından sağlanan dinamik bir parametredir. WSMan sağlayıcısı ve bu parametre yalnızca Windows'ta kullanılabilir.

Bu WSMan eylemini gerçekleştirme izni olan bir kullanıcı hesabının dijital ortak anahtar sertifikasını (X509) belirtir. Sertifikanın sertifika parmak izini girin.

Daha fazla bilgi için bkz . New-WSManInstance.

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

-Confirm

Cmdlet'i çalıştırmadan önce sizden onay ister.

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

-ConnectionURI

Bu, WSMan sağlayıcısı tarafından sağlanan dinamik bir parametredir. WSMan sağlayıcısı ve bu parametre yalnızca Windows'ta kullanılabilir.

WSMan için bağlantı uç noktasını belirtir.

Daha fazla bilgi için bkz . New-WSManInstance.

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

-Credential

Not

Bu parametre, PowerShell ile yüklenen sağlayıcılar tarafından desteklenmez. Bu cmdlet'i çalıştırırken başka bir kullanıcının kimliğine bürünmek veya kimlik bilgilerinizi yükseltmek için kullanın Invoke-Command.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Force

Bu cmdlet'i var olan bir salt okunur öğenin üzerine yazan bir öğe oluşturmaya zorlar. Uygulama sağlayıcıdan sağlayıcıya değişir. Zorla parametresi kullanıldığında bile cmdlet güvenlik kısıtlamalarını geçersiz kılamaz.

PowerShell 7.4'den başlayarak, bu parametre var olan bir Birleşimin üzerine yazmanızı da sağlar. Daha önce bu durum "boş olmadığından kaldırılamıyor" hatasıyla başarısız olacaktı.

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

-ItemType

Yeni öğenin sağlayıcı tarafından belirtilen türünü belirtir. Bu parametrenin kullanılabilir değerleri, kullandığınız geçerli sağlayıcıya bağlıdır.

Konumunuz bir FileSystem sürücüdeyse aşağıdaki değerlere izin verilir:

  • Dosya
  • Dizin
  • SymbolicLink
  • Kavşak
  • Sabit Bağlantı

Not

Windows'ta tür SymbolicLink oluşturmak için yönetici olarak yükseltme gerekir. Ancak Geliştirici Modu'nu etkinleştiren Windows 10 (derleme 14972 veya üzeri) artık sembolik bağlantılar oluşturmak için yükseltme gerektirmez.

Bir Certificate sürücüde, belirtebileceğiniz değerler şunlardır:

  • Sertifika Sağlayıcısı
  • Sertifika
  • Store
  • StoreLocation

Daha fazla bilgi için bkz. about_Providers.

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

-Name

Yeni öğenin adını belirtir. Ad veya Yol parametresi değerinde yeni öğenin adını ve Ad veya Yol değeri'nde yeni öğenin yolunu belirtebilirsiniz. Ad parametresi kullanılarak geçirilen öğe adları, Path parametresinin değerine göre oluşturulur.

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

-Options

Bu, Diğer Ad sağlayıcısı tarafından sağlanan dinamik bir parametredir. Daha fazla bilgi için bkz . Yeni-Diğer Ad.

Diğer adın Options özelliğinin değerini belirtir.

Geçerli değerler:

  • None: Diğer adın kısıtlaması yok (varsayılan değer)
  • ReadOnly: Diğer ad silinebilir ancak Zorla parametresi kullanılmadan değiştirilemez
  • Constant: Diğer ad silinemez veya değiştirilemez
  • Private: Diğer ad yalnızca geçerli kapsamda kullanılabilir
  • AllScope: Diğer ad, oluşturulan tüm yeni kapsamlara kopyalanır
  • Unspecified: Seçenek belirtilmemiş
Type:ScopedItemOptions
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OptionSet

Bu, WSMan sağlayıcısı tarafından sağlanan dinamik bir parametredir. WSMan sağlayıcısı ve bu parametre yalnızca Windows'ta kullanılabilir.

İsteğin niteliğini değiştirmek veya iyileştirmek için bir dizi anahtarı bir hizmete geçirir.

Daha fazla bilgi için bkz . New-WSManInstance.

Type:Hashtable
Aliases:OS
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Yeni öğenin konumunun yolunu belirtir. Varsayılan, Yol atlandığında geçerli konumdur. Yeni öğenin adını Ad'da belirtebilir veya Yol'a ekleyebilirsiniz. Ad parametresi kullanılarak geçirilen öğe adları, Path parametresinin değerine göre oluşturulur.

Bu cmdlet için Path parametresi, diğer cmdlet'lerin LiteralPath parametresi gibi çalışır. Joker karakterler yorumlanmaz. Tüm karakterler konumun sağlayıcısına geçirilir. Sağlayıcı tüm karakterleri desteklemeyebilir. Örneğin, yıldız (*) karakteri içeren bir dosya adı oluşturamazsınız.

Type:String[]
Position:0
Default value:Current location
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Port

Bu, WSMan sağlayıcısı tarafından sağlanan dinamik bir parametredir. WSMan sağlayıcısı ve bu parametre yalnızca Windows'ta kullanılabilir.

İstemci WinRM hizmetine bağlandığında kullanılacak bağlantı noktasını belirtir.

Daha fazla bilgi için bkz . New-WSManInstance.

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

-SessionOption

Bu, WSMan sağlayıcısı tarafından sağlanan dinamik bir parametredir. WSMan sağlayıcısı ve bu parametre yalnızca Windows'ta kullanılabilir.

WS-Management oturumu için bir dizi genişletilmiş seçenek tanımlar.

Daha fazla bilgi için bkz . New-WSManInstance.

Type:SessionOption
Aliases:SO
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseSSL

Bu, WSMan sağlayıcısı tarafından sağlanan dinamik bir parametredir. WSMan sağlayıcısı ve bu parametre yalnızca Windows'ta kullanılabilir.

Uzak bilgisayara bağlantı kurmak için Güvenli Yuva Katmanı (SSL) protokolunun kullanılması gerektiğini belirtir. Varsayılan olarak SSL kullanılmaz.

Daha fazla bilgi için bkz . New-WSManInstance.

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

-Value

Yeni öğenin değerini belirtir. Ayrıca bir değeri öğesine de yöneltebilirsiniz New-Item.

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

-WhatIf

Cmdlet çalıştırılıyorsa ne olacağını gösterir. Cmdlet çalıştırılmıyor.

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

Girişler

Object

Yeni öğe için bir değeri bu cmdlet'e yöneltebilirsiniz.

Çıkışlar

DictionaryEntry

Cmdlet, yeni bir ortam değişkeni oluştururken bir DictionaryEntry nesnesi döndürür.

DirectoryInfo

Cmdlet, dosya sisteminde yeni bir dizin oluştururken bir DirectoryInfo nesnesi döndürür.

FileInfo

Cmdlet, dosya sisteminde yeni bir dosya oluştururken bir FileInfo nesnesi döndürür.

AliasInfo

Cmdlet, yeni bir diğer ad oluştururken bir AliasInfo nesnesi döndürür.

FunctionInfo

Cmdlet, yeni bir işlev oluştururken bir FunctionInfo nesnesi döndürür.

PSVariable

Cmdlet, yeni bir değişken oluştururken PSVariable nesnesi döndürür.

Notlar

PowerShell için aşağıdaki diğer adları New-Itemiçerir:

  • Tüm platformlar:
    • ni

New-Item herhangi bir sağlayıcı tarafından kullanıma sunulan verilerle çalışacak şekilde tasarlanmıştır. Oturumunuzda kullanılabilen sağlayıcıları listelemek için yazın Get-PsProvider. Daha fazla bilgi için bkz . about_Providers.