New-Item
Skapar ett nytt objekt.
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
Cmdleten New-Item
skapar ett nytt objekt och anger dess värde. Vilka typer av objekt som kan skapas beror på objektets plats. I filsystemet New-Item
skapar du till exempel filer och mappar. I registret New-Item
skapar du registernycklar och poster.
New-Item
kan också ange värdet för de objekt som skapas. När den till exempel skapar en ny fil New-Item
kan du lägga till initialt innehåll i filen.
Exempel
Exempel 1: Skapa en fil i den aktuella katalogen
Det här kommandot skapar en textfil med namnet "testfile1.txt" i den aktuella katalogen. Punkten ('.') i värdet för parametern Path anger den aktuella katalogen. Den citerade texten som följer värdeparametern läggs till i filen som innehåll.
New-Item -Path . -Name "testfile1.txt" -ItemType "file" -Value "This is a text string."
Exempel 2: Skapa en katalog
Det här kommandot skapar en katalog med namnet "Logfiles" på C:
enheten. Parametern ItemType anger att det nya objektet är en katalog, inte en fil eller ett annat filsystemobjekt.
New-Item -Path "c:\" -Name "logfiles" -ItemType "directory"
Exempel 3: Skapa en profil
Det här kommandot skapar en PowerShell-profil i sökvägen som anges av variabeln $profile
.
Du kan använda profiler för att anpassa PowerShell. $profile
är en automatisk (inbyggd) variabel som lagrar sökvägen och filnamnet för profilen "CurrentUser/CurrentHost". Profilen finns som standard inte, även om PowerShell lagrar en sökväg och ett filnamn för den.
I det här kommandot representerar variabeln $profile
sökvägen till filen. Parametern ItemType anger att kommandot skapar en fil. Med parametern Force kan du skapa en fil i profilsökvägen, även om katalogerna i sökvägen inte finns.
När du har skapat en profil kan du ange alias, funktioner och skript i profilen för att anpassa gränssnittet.
Mer information finns i about_Automatic_Variables och about_Profiles.
New-Item -Path $profile -ItemType "file" -Force
Exempel 4: Skapa en katalog i en annan katalog
Det här exemplet skapar en ny skriptkatalog i katalogen "C:\PS-Test".
Namnet på det nya katalogobjektet , "Scripts", ingår i värdet för Path-parametern , i stället för att anges i värdet för Namn. Som syntaxen anger är antingen kommandoformuläret giltigt.
New-Item -ItemType "directory" -Path "c:\ps-test\scripts"
Exempel 5: Skapa flera filer
Det här exemplet skapar filer i två olika kataloger. Eftersom Path tar flera strängar kan du använda den för att skapa flera objekt.
New-Item -ItemType "file" -Path "c:\ps-test\test.txt", "c:\ps-test\Logs\test.log"
Exempel 6: Använd jokertecken för att skapa filer i flera kataloger
Cmdleten New-Item
stöder jokertecken i parametern Path . Följande kommando skapar en temp.txt
fil i alla kataloger som anges av jokertecken i parametern Sökväg .
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
Cmdleten Get-ChildItem
visar tre kataloger under C:\Temp
katalogen. Med jokertecken skapar cmdleten New-Item
en temp.txt
fil i alla kataloger under den aktuella katalogen. Cmdleten New-Item
matar ut de objekt som du skapade, som skickas till för att verifiera sökvägarna för Select-Object
de nyligen skapade filerna.
Exempel 7: Skapa en symbolisk länk till en fil eller mapp
I det här exemplet skapas en symbolisk länk till filen Notice.txt i den aktuella mappen.
$link = New-Item -ItemType SymbolicLink -Path .\link -Target .\Notice.txt
$link | Select-Object LinkType, Target
LinkType Target
-------- ------
SymbolicLink {.\Notice.txt}
I det här exemplet är Target ett alias för parametern Value . Målet för den symboliska länken kan vara en relativ sökväg. Före PowerShell v6.2 måste målet vara en fullständigt kvalificerad sökväg.
Från och med PowerShell 7.1 kan du nu skapa till en Symbolisk länk till en mapp i Windows med hjälp av en relativ sökväg.
Exempel 8: Använd parametern -Force för att försöka återskapa mappar
I det här exemplet skapas en mapp med en fil inuti. Försöker sedan skapa samma mapp med hjälp av -Force
. Den skriver inte över mappen utan returnerar bara det befintliga mappobjektet med filen som skapats intakt.
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
Exempel 9: Använd parametern -Force för att skriva över befintliga filer
Det här exemplet skapar en fil med ett värde och återskapar sedan filen med hjälp av -Force
. Detta skriver över den befintliga filen, som du kan se med egenskapen length.
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
Kommentar
När du använder New-Item
med växeln -Force
för att skapa registernycklar fungerar kommandot på samma sätt som när du skriver över en fil. Om registernyckeln redan finns skrivs nyckeln och alla egenskaper och värden över med en tom registernyckel.
Parametrar
-ApplicationName
Det här är en dynamisk parameter som görs tillgänglig av WSMan-providern . WSMan-providern och den här parametern är endast tillgängliga i Windows.
Anger programnamnet i anslutningen. Standardvärdet för parametern ApplicationName är WSMAN.
Mer information finns i New-WSManInstance.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Authentication
Det här är en dynamisk parameter som görs tillgänglig av WSMan-providern . WSMan-providern och den här parametern är endast tillgängliga i Windows.
Anger den autentiseringsmekanism som ska användas på servern.
Mer information finns i New-WSManInstance.
Typ: | AuthenticationMechanism |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-CertificateThumbprint
Det här är en dynamisk parameter som görs tillgänglig av WSMan-providern . WSMan-providern och den här parametern är endast tillgängliga i Windows.
Anger det digitala offentliga nyckelcertifikatet (X509) för ett användarkonto som har behörighet att utföra den här WSMan-åtgärden. Ange certifikatets tumavtryck.
Mer information finns i New-WSManInstance.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Confirm
Uppmanar dig att bekräfta innan du kör cmdleten.
Typ: | SwitchParameter |
Alias: | cf |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ConnectionURI
Det här är en dynamisk parameter som görs tillgänglig av WSMan-providern . WSMan-providern och den här parametern är endast tillgängliga i Windows.
Anger anslutningsslutpunkten för WSMan.
Mer information finns i New-WSManInstance.
Typ: | Uri |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Credential
Kommentar
Den här parametern stöds inte av några leverantörer som är installerade med PowerShell. Om du vill personifiera en annan användare eller höja dina autentiseringsuppgifter när du kör den här cmdleten använder du Invoke-Command
.
Typ: | PSCredential |
Position: | Named |
Standardvärde: | Current user |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Force
Tvingar den här cmdleten att skapa ett objekt som skriver över ett befintligt skrivskyddat objekt. Implementeringen varierar från leverantör till leverantör. Även med hjälp av force-parametern kan cmdleten inte åsidosätta säkerhetsbegränsningar.
Från och med PowerShell 7.4 kan du med den här parametern även skriva över en befintlig knutpunkt. Tidigare skulle detta misslyckas med felet "det går inte att ta bort eftersom det inte är tomt".
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ItemType
Anger den providerspecifika typen av det nya objektet. Vilka värden som är tillgängliga för den här parametern beror på den aktuella providern som du använder.
Om din plats finns på en FileSystem
enhet tillåts följande värden:
- Fil
- Katalog
- Symbolisk länk
- Knutpunkt
- HardLink
Kommentar
För att skapa en SymbolicLink
typ i Windows krävs utökade privilegier som administratör. Windows 10 (version 14972 eller senare) med utvecklarläge aktiverat kräver dock inte längre utökade symboliska länkar.
På en Certificate
enhet är det här de värden som du kan ange:
- Certifikatprovider
- Certifikat
- Store
- StoreLocation
Mer information finns i about_Providers.
Typ: | String |
Alias: | Type |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Name
Anger namnet på det nya objektet. Du kan ange namnet på det nya objektet i parametervärdet Namn eller Sökväg , och du kan ange sökvägen till det nya objektet i namn - eller sökvägsvärdet . Objektnamn som skickas med parametern Namn skapas i förhållande till värdet för parametern Path .
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Options
Det här är en dynamisk parameter som görs tillgänglig av aliasprovidern. Mer information finns i New-Alias.
Anger värdet för egenskapen Alternativ för ett alias.
Giltiga värden är:
None
: Aliaset har inga begränsningar (standardvärde)ReadOnly
: Aliaset kan tas bort men kan inte ändras utan att använda force-parameternConstant
: Aliaset kan inte tas bort eller ändrasPrivate
: Aliaset är endast tillgängligt i det aktuella omfångetAllScope
: Aliaset kopieras till alla nya omfång som skapasUnspecified
: Alternativet har inte angetts
Typ: | ScopedItemOptions |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-OptionSet
Det här är en dynamisk parameter som görs tillgänglig av WSMan-providern . WSMan-providern och den här parametern är endast tillgängliga i Windows.
Skickar en uppsättning växlar till en tjänst för att ändra eller förfina typen av begäran.
Mer information finns i New-WSManInstance.
Typ: | Hashtable |
Alias: | OS |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Path
Anger sökvägen till platsen för det nya objektet. Standardvärdet är den aktuella platsen när sökvägen utelämnas. Du kan ange namnet på det nya objektet i Namn eller inkludera det i Sökväg. Objektnamn som skickas med parametern Namn skapas i förhållande till värdet för parametern Path .
För den här cmdleten fungerar parametern Path som parametern LiteralPath för andra cmdletar.
Jokertecken tolkas inte. Alla tecken skickas till platsens provider. Providern kanske inte stöder alla tecken. Du kan till exempel inte skapa ett filnamn som innehåller ett asterisktecken (*
).
Typ: | String[] |
Position: | 0 |
Standardvärde: | Current location |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Port
Det här är en dynamisk parameter som görs tillgänglig av WSMan-providern . WSMan-providern och den här parametern är endast tillgängliga i Windows.
Anger den port som ska användas när klienten ansluter till WinRM-tjänsten.
Mer information finns i New-WSManInstance.
Typ: | Int32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-SessionOption
Det här är en dynamisk parameter som görs tillgänglig av WSMan-providern . WSMan-providern och den här parametern är endast tillgängliga i Windows.
Definierar en uppsättning utökade alternativ för WS-Management-sessionen.
Mer information finns i New-WSManInstance.
Typ: | SessionOption |
Alias: | SO |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-UseSSL
Det här är en dynamisk parameter som görs tillgänglig av WSMan-providern . WSMan-providern och den här parametern är endast tillgängliga i Windows.
Anger att SSL-protokollet (Secure Sockets Layer) ska användas för att upprätta en anslutning till fjärrdatorn. Som standard används inte SSL.
Mer information finns i New-WSManInstance.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Value
Anger värdet för det nya objektet. Du kan också skicka ett värde till New-Item
.
Typ: | Object |
Alias: | Target |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-WhatIf
Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.
Typ: | SwitchParameter |
Alias: | wi |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
Du kan skicka ett värde för det nya objektet till den här cmdleten.
Utdata
Cmdleten returnerar ett DictionaryEntry-objekt när du skapar en ny miljövariabel.
Cmdleten returnerar ett DirectoryInfo-objekt när du skapar en ny katalog i filsystemet.
Cmdleten returnerar ett FileInfo-objekt när du skapar en ny fil i filsystemet.
Cmdleten returnerar ett AliasInfo-objekt när du skapar ett nytt alias.
Cmdleten returnerar ett FunctionInfo-objekt när du skapar en ny funktion.
Cmdleten returnerar ett PSVariable-objekt när du skapar en ny variabel.
Kommentarer
PowerShell innehåller följande alias för New-Item
:
- Alla plattformar:
ni
New-Item
är utformad för att fungera med data som exponeras av alla leverantörer. Om du vill visa en lista över tillgängliga leverantörer i sessionen skriver du Get-PsProvider
. Mer information finns i about_Providers.