Delen via


New-Item

Hiermee maakt u een nieuw item.

Syntaxis

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

De New-Item cmdlet 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 New-Item maakt u bijvoorbeeld bestanden en mappen. In het register New-Item maakt u registersleutels en vermeldingen.

New-Item kan ook de waarde instellen van de items die worden gemaakt. Wanneer er bijvoorbeeld een nieuw bestand wordt gemaakt, New-Item kan de eerste inhoud aan het bestand worden toegevoegd.

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 die volgt op de parameter Waarde , wordt als inhoud toegevoegd aan het bestand.

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 $profile variabele het pad van het bestand. Parameter ItemType geeft aan dat de opdracht een bestand maakt. Met de parameter Force kunt u een bestand maken in het profielpad, zelfs wanneer 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_Profiles voor 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', is opgenomen in de waarde van de parameter Path , in plaats van op te geven in de waarde van Naam. 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 Path meerdere tekenreeksen gebruikt, kunt u dit 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 toont drie mappen onder de C:\Temp map. 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, die wordt doorgesluisd om de paden van de zojuist gemaakte bestanden te Select-Object 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 Target 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 symbolische koppeling 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: de parameter -Force gebruiken 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. Hiermee wordt het bestaande bestand overschreven, zoals u kunt zien door de lengte-eigenschap.

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

Notitie

Wanneer u de -Force schakeloptie gebruikt New-Item 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

-ApplicationName

Dit is een dynamische parameter die beschikbaar wordt gesteld door de WSMan-provider . De WSMan-provider en deze parameter zijn alleen beschikbaar in Windows.

Hiermee geeft u de naam van de toepassing in de verbinding. De standaardwaarde van de parameter ApplicationName is WSMAN.

Zie New-WSManInstance voor meer informatie.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Authentication

Dit is een dynamische parameter die beschikbaar wordt gesteld door de WSMan-provider . De WSMan-provider en deze parameter zijn alleen beschikbaar in Windows.

Hiermee geeft u het verificatiemechanisme dat moet worden gebruikt op de server.

Zie New-WSManInstance voor meer informatie.

Type:AuthenticationMechanism
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-CertificateThumbprint

Dit is een dynamische parameter die beschikbaar wordt gesteld door de WSMan-provider . De WSMan-provider en deze parameter zijn alleen beschikbaar in Windows.

Hiermee geeft u het certificaat van de digitale openbare sleutel (X509) van een gebruikersaccount dat gemachtigd is om deze WSMan-actie uit te voeren. Voer de vingerafdruk van het certificaat in.

Zie New-WSManInstance voor meer informatie.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Confirm

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

Type:SwitchParameter
Aliassen:cf
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-ConnectionURI

Dit is een dynamische parameter die beschikbaar wordt gesteld door de WSMan-provider . De WSMan-provider en deze parameter zijn alleen beschikbaar in Windows.

Hiermee geeft u het verbindingseindpunt voor WSMan.

Zie New-WSManInstance voor meer informatie.

Type:Uri
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Credential

Notitie

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.

Type:PSCredential
Position:Named
Default value:Current user
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren: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 met de parameter Force kan de cmdlet geen beveiligingsbeperkingen overschrijven.

Vanaf PowerShell 7.4 kunt u met deze parameter ook een bestaande verbinding overschrijven. Voorheen mislukt dit met de fout 'kan niet worden verwijderd omdat deze niet leeg is'.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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:

  • File
  • Directory
  • SymbolicLink
  • Junction
  • HardLink

Notitie

Voor het maken van een SymbolicLink type in Windows is uitbreiding 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:

  • Certificate Provider
  • Certificate
  • Store
  • StoreLocation

Zie about_Providers voor meer informatie.

Type:String
Aliassen:Type
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Name

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

Type:String
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Options

Dit is een dynamische parameter die beschikbaar wordt gesteld door de Alias-provider . Zie New-Alias voor meer informatie.

Hiermee geeft u de waarde van de eigenschap Opties van een alias.

Geldige waarden zijn:

  • None: De alias heeft geen beperkingen (standaardwaarde)
  • ReadOnly: De alias kan worden verwijderd, maar kan niet worden gewijzigd zonder de parameter Force te gebruiken
  • Constant: De alias kan niet worden verwijderd of gewijzigd
  • Private: De alias is alleen beschikbaar in het huidige bereik
  • AllScope: De alias wordt gekopieerd naar nieuwe bereiken die worden gemaakt
  • Unspecified: De optie is niet opgegeven
Type:ScopedItemOptions
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-OptionSet

Dit is een dynamische parameter die beschikbaar wordt gesteld door de WSMan-provider . De WSMan-provider en deze parameter zijn alleen beschikbaar in Windows.

Hiermee wordt een set switches doorgegeven aan een service om de aard van de aanvraag te wijzigen of te verfijnen.

Zie New-WSManInstance voor meer informatie.

Type:Hashtable
Aliassen:OS
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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 Naam of 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.

Type:String[]
Position:0
Default value:Current location
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Port

Dit is een dynamische parameter die beschikbaar wordt gesteld door de WSMan-provider . De WSMan-provider en deze parameter zijn alleen beschikbaar in Windows.

Hiermee geeft u de poort op die moet worden gebruikt wanneer de client verbinding maakt met de WinRM-service.

Zie New-WSManInstance voor meer informatie.

Type:Int32
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-SessionOption

Dit is een dynamische parameter die beschikbaar wordt gesteld door de WSMan-provider . De WSMan-provider en deze parameter zijn alleen beschikbaar in Windows.

Definieert een set uitgebreide opties voor de WS-Management-sessie.

Zie New-WSManInstance voor meer informatie.

Type:SessionOption
Aliassen:SO
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-UseSSL

Dit is een dynamische parameter die beschikbaar wordt gesteld door de WSMan-provider . De WSMan-provider en deze parameter zijn alleen beschikbaar in Windows.

Hiermee geeft u op dat het SSL-protocol (Secure Sockets Layer) moet worden gebruikt om een verbinding met de externe computer tot stand te brengen. SSL wordt standaard niet gebruikt.

Zie New-WSManInstance voor meer informatie.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Value

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

Type:Object
Aliassen:Target
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-WhatIf

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

Type:SwitchParameter
Aliassen:wi
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

Object

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

Uitvoerwaarden

DictionaryEntry

De cmdlet retourneert een DictionaryEntry-object bij het maken van een nieuwe omgevingsvariabele.

DirectoryInfo

De cmdlet retourneert een DirectoryInfo-object bij het maken van een nieuwe map in het bestandssysteem.

FileInfo

De cmdlet retourneert een FileInfo-object bij het maken van een nieuw bestand in het bestandssysteem.

AliasInfo

De cmdlet retourneert een AliasInfo-object bij het maken van een nieuwe alias.

FunctionInfo

De cmdlet retourneert een FunctionInfo-object bij het maken van een nieuwe functie.

PSVariable

De cmdlet retourneert een PSVariable-object bij het maken van een nieuwe variabele.

Notities

PowerShell bevat de volgende aliassen voor New-Item:

  • Alle platforms:
    • ni

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 Get-PsProvideru . Zie about_Providers voor meer informatie.