New-Item

Hiermee maakt u een nieuw item.

Syntax

pathSet (Standaard)

New-Item
    [-Path] <String[]>
    [-ItemType <String>]
    [-Value <Object>]
    [-Force]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

nameSet

New-Item
    [[-Path] <String[]>]
    -Name <String>
    [-ItemType <String>]
    [-Value <Object>]
    [-Force]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

De cmdlet New-Item maakt een nieuw item en stelt de waarde ervan in. De typen items die kunnen worden gemaakt, zijn afhankelijk van de locatie van het item. In het bestandssysteem maakt New-Item bijvoorbeeld bestanden en mappen. In het register maakt New-Item registersleutels en vermeldingen.

New-Item kunt ook de waarde instellen van de items die worden gemaakt. Wanneer er bijvoorbeeld een nieuw bestand wordt gemaakt, kan New-Item initiële inhoud toevoegen aan het bestand.

Voorbeelden

Voorbeeld 1: Een bestand maken in de huidige map

Met deze opdracht maakt u een tekstbestand met de naam 'testfile1.txt' in de huidige map. De punt ('.') in de waarde van de parameter Path geeft de huidige map aan. De tekst tussen aan citeren die volgt op de parameter Waarde wordt als inhoud aan het bestand toegevoegd.

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

Voorbeeld 2: Een map maken

Met deze opdracht maakt u een map met de naam 'Logfiles' in het C: station. De parameter ItemType geeft aan dat het nieuwe item een map is, niet een bestand of een ander bestandssysteemobject.

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

Voorbeeld 3: Een profiel maken

Met deze opdracht maakt u een PowerShell-profiel in het pad dat is opgegeven door de $profile variabele.

U kunt profielen gebruiken om PowerShell aan te passen. $profile is een automatische (ingebouwde) variabele waarin het pad en de bestandsnaam van het profiel CurrentUser/CurrentHost worden opgeslagen. Het profiel bestaat standaard niet, ook al slaat PowerShell er een pad en bestandsnaam voor op.

In deze opdracht vertegenwoordigt de variabele $profile het pad van het bestand. Parameter ItemType geeft aan dat de opdracht een bestand maakt. Met de parameter Forceren kunt u een bestand maken in het profielpad, zelfs als de mappen in het pad niet bestaan.

Nadat u een profiel hebt gemaakt, kunt u aliassen, functies en scripts in het profiel invoeren om uw shell aan te passen.

Zie about_Automatic_Variables en about_Profilesvoor meer informatie.

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

Voorbeeld 4: Een map maken in een andere map

In dit voorbeeld wordt een nieuwe map Scripts gemaakt in de map C:\PS-Test.

De naam van het nieuwe mapitem , 'Scripts', wordt opgenomen in de waarde van parameter Path, in plaats van te worden opgegeven in de waarde van Name. Zoals aangegeven door de syntaxis, is een van beide opdrachtformulieren geldig.

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

Voorbeeld 5: Meerdere bestanden maken

In dit voorbeeld worden bestanden in twee verschillende mappen gemaakt. Omdat Pad meerdere tekenreeksen gebruikt, kunt u deze gebruiken om meerdere items te maken.

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

Voorbeeld 6: Jokertekens gebruiken om bestanden in meerdere mappen te maken

De New-Item-cmdlet ondersteunt jokertekens in de parameter Path. Met de volgende opdracht maakt u een temp.txt bestand in alle mappen die zijn opgegeven door de jokertekens in de parameter Path.

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

De Get-ChildItem-cmdlet bevat drie mappen onder de map C:\Temp. Met jokertekens maakt de New-Item-cmdlet een temp.txt-bestand in alle mappen onder de huidige map. De New-Item-cmdlet voert de items uit die u hebt gemaakt. Deze wordt doorgesluisd naar Select-Object om de paden van de zojuist gemaakte bestanden te controleren.

Voorbeeld 7: Een symbolische koppeling naar een bestand of map maken

In dit voorbeeld wordt een symbolische koppeling gemaakt naar het Notice.txt bestand in de huidige map.

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

In dit voorbeeld is Doel- een alias voor de parameter Waarde. Het doel van de symbolische koppeling kan een relatief pad zijn. Vóór PowerShell v6.2 moet het doel een volledig gekwalificeerd pad zijn.

Vanaf PowerShell 7.1 kunt u nu een SymbolLink- maken naar een map in Windows met behulp van een relatief pad.

Voorbeeld 8: Gebruik de parameter -Force om mappen opnieuw te maken

In dit voorbeeld wordt een map gemaakt met een bestand erin. Vervolgens probeert u dezelfde map te maken met behulp van -Force. De map wordt niet overschreven, maar retourneert gewoon het bestaande mapobject met het bestand dat is gemaakt.

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

Voorbeeld 9: Gebruik de parameter -Force om bestaande bestanden te overschrijven

In dit voorbeeld wordt een bestand met een waarde gemaakt en wordt het bestand vervolgens opnieuw gemaakt met behulp van -Force. Dit overschrijft het bestaande bestand en het zal zijn inhoud verliezen, zoals u kunt zien aan de eigenschap 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

Opmerking

Wanneer u New-Item gebruikt met de -Force overschakelt om registersleutels te maken, gedraagt de opdracht zich hetzelfde als bij het overschrijven van een bestand. Als de registersleutel al bestaat, worden de sleutel en alle eigenschappen en waarden overschreven met een lege registersleutel.

Parameters

-Confirm

Voordat u de cmdlet uitvoert, vraagt het systeem om bevestiging.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Cf

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Credential

Opmerking

Deze parameter wordt niet ondersteund door providers die zijn geïnstalleerd met PowerShell. Als u een andere gebruiker wilt imiteren of uw referenties wilt verhogen bij het uitvoeren van deze cmdlet, gebruikt u Invoke-Command.

Parametereigenschappen

Type:PSCredential
Default value:Current user
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Force

Hiermee dwingt u deze cmdlet om een item te maken dat over een bestaand alleen-lezenitem schrijft. Implementatie varieert van provider tot provider. Zelfs als u de parameter Force gebruikt, kan de cmdlet geen beveiligingsbeperkingen overschrijven.

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-ItemType

Hiermee geeft u het door de provider opgegeven type van het nieuwe item. De beschikbare waarden van deze parameter zijn afhankelijk van de huidige provider die u gebruikt.

Als uw locatie zich in een FileSystem station bevindt, zijn de volgende waarden toegestaan:

  • Bestand
  • Adreslijst
  • Symbolische koppeling
  • Aansluiting
  • HardLink

Opmerking

Voor het maken van een SymbolicLink type in Windows is benodigde bevoegdheden als beheerder vereist. Windows 10 (build 14972 of hoger) waarvoor de ontwikkelaarsmodus is ingeschakeld, vereist echter geen uitbreiding meer voor het maken van symbolische koppelingen.

In een Certificate station zijn dit de waarden die u kunt opgeven:

  • Certificaatprovider
  • Certificaat
  • Opslaan
  • StoreLocation

Zie about_Providersvoor meer informatie.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Typologie

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Name

Hiermee geeft u de naam van het nieuwe item. U kunt de naam van het nieuwe item opgeven in het Name of Path parameterwaarde en u kunt het pad van het nieuwe item opgeven in naam of pad waarde. Namen van items die worden doorgegeven met behulp van de parameter Name worden gemaakt ten opzichte van de waarde van de parameter Path.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

nameSet
Position:Named
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Path

Hiermee geeft u het pad van de locatie van het nieuwe item. De standaardwaarde is de huidige locatie wanneer pad wordt weggelaten. U kunt de naam van het nieuwe item opgeven in Naamof opnemen in Pad. Namen van items die worden doorgegeven met behulp van de parameter Name worden gemaakt ten opzichte van de waarde van de parameter Path.

Voor deze cmdlet werkt de parameter Path als de parameter LiteralPath van andere cmdlets. Jokertekens worden niet geïnterpreteerd. Alle tekens worden doorgegeven aan de provider van de locatie. De provider ondersteunt mogelijk niet alle tekens. U kunt bijvoorbeeld geen bestandsnaam maken die een sterretje (*) bevat.

Parametereigenschappen

Type:

String[]

Default value:Current location
Ondersteunt jokertekens:False
DontShow:False

Parametersets

pathSet
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Value

Hiermee geeft u de waarde van het nieuwe item. U kunt ook een waarde doorspezen naar New-Item.

Parametereigenschappen

Type:Object
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Target

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-WhatIf

Toont wat er zou gebeuren wanneer de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Wi

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

Object

U kunt een waarde voor het nieuwe item doorsluisen naar deze cmdlet.

Uitvoerwaarden

Object

Met deze cmdlet wordt het item geretourneerd dat wordt gemaakt.

Notities

New-Item is ontworpen om te werken met de gegevens die door elke provider worden weergegeven. Als u de providers wilt weergeven die beschikbaar zijn in uw sessie, typt u Get-PsProvider. Zie about_Providersvoor meer informatie.