Condividi tramite


New-Item

Crea un nuovo elemento.

Sintassi

pathSet (Default) - All providers

New-Item
    [-Path] <string[]>
    [-ItemType <string>]
    [-Value <Object>]
    [-Force]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [-UseTransaction]
    [<CommonParameters>]

nameSet - All providers

New-Item
    [[-Path] <string[]>]
    -Name <string>
    [-ItemType <string>]
    [-Value <Object>]
    [-Force]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [-UseTransaction]
    [<CommonParameters>]

pathSet (Default) - WSMan provider

New-Item
    [-Path] <string[]>
    -ConnectionURI <uri>
    [-ItemType <string>]
    [-Value <Object>]
    [-Force]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [-UseTransaction]
    [-OptionSet <hashtable>]
    [-Authentication <AuthenticationMechanism>]
    [-CertificateThumbprint <string>]
    [-SessionOption <SessionOption>]
    [-Port <int>]
    [<CommonParameters>]

nameSet - WSMan provider

New-Item
    [[-Path] <string[]>]
    -Name <string>
    [-ItemType <string>]
    [-Value <Object>]
    [-Force]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [-UseTransaction]
    [-OptionSet <hashtable>]
    [-Authentication <AuthenticationMechanism>]
    [-CertificateThumbprint <string>]
    [-SessionOption <SessionOption>]
    [-ApplicationName <string>]
    [-Port <int>]
    [-UseSSL]
    [<CommonParameters>]

pathSet (Impostazione predefinita)

New-Item
    [-Path] <string[]>
    [-ItemType <string>]
    [-Value <Object>]
    [-Force]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [-UseTransaction]
    [-Options <ScopedItemOptions>]
    [<CommonParameters>]

nameSet

New-Item
    [[-Path] <string[]>]
    -Name <string>
    [-ItemType <string>]
    [-Value <Object>]
    [-Force]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [-UseTransaction]
    [-Options <ScopedItemOptions>]
    [<CommonParameters>]

Descrizione

Il New-Item cmdlet crea un nuovo elemento e ne imposta il valore. I tipi di elementi che possono essere creati dipendono dalla posizione dell'elemento. Nel file system, ad esempio, New-Item crea file e cartelle. Nel Registro di sistema vengono create le chiavi e le voci del Registro di sistema New-Item .

New-Item può anche impostare il valore degli elementi creati. Ad esempio, quando crea un nuovo file, New-Item può aggiungere contenuto iniziale al file.

Esempio

Esempio 1: Creare un file nella directory corrente

Questo comando crea un file di testo denominato "testfile1.txt" nella directory corrente. Il punto ('.') nel valore del parametro Path indica la directory corrente. Il testo racchiuso tra virgolette che segue il parametro Value viene aggiunto al file come contenuto.

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

Esempio 2: Creare una directory

Questo comando crea una directory denominata "Logfiles" nell'unità C: . Il parametro ItemType specifica che il nuovo elemento è una directory, non un file o un altro oggetto file system.

New-Item -Path "C:\" -Name "logfiles" -ItemType "Directory"

Esempio 3: Creare un profilo

Questo comando crea un profilo di PowerShell nel percorso specificato dalla $PROFILE variabile .

È possibile usare i profili per personalizzare PowerShell. $PROFILE è una variabile automatica (predefinita) che archivia il percorso e il nome file del profilo "CurrentUser/CurrentHost". Per impostazione predefinita, il profilo non esiste, anche se PowerShell archivia un percorso e un nome di file.

In questo comando la $PROFILE variabile rappresenta il percorso del file. Il parametro ItemType specifica che il comando crea un file. Il parametro Force consente di creare un file nel percorso del profilo, anche quando le directory nel percorso non esistono.

Dopo aver creato un profilo, è possibile immettere alias, funzioni e script nel profilo per personalizzare la shell.

Per altre informazioni, vedere about_Automatic_Variables e about_Profiles.

New-Item -Path $PROFILE -ItemType "File" -Force

Annotazioni

Quando si crea un file usando questo metodo, il file risultante viene codificato come UTF-8 senza un byte-order-mark (BOM).

Esempio 4: Creare una directory in una directory diversa

In questo esempio viene creata una nuova directory Scripts nella directory "C:\PS-Test".

Il nome del nuovo elemento di directory, "Scripts", è incluso nel valore del parametro Path , anziché essere specificato nel valore di Name. Come indicato dalla sintassi, entrambe le forme sono valide.

New-Item -ItemType "Directory" -Path "C:\ps-test\scripts"

Esempio 5: Creare più file

In questo esempio vengono creati file in due directory diverse. Poiché Path accetta più stringhe, è possibile usarlo per creare più elementi.

New-Item -ItemType "File" -Path "C:\ps-test\test.txt", "C:\ps-test\Logs\test.log"

Esempio 6: Usare caratteri jolly per creare file in più directory

Il New-Item cmdlet supporta i caratteri jolly nel parametro Path . Il comando seguente crea un temp.txt file in tutte le directory specificate dai caratteri jolly nel parametro 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

Il Get-ChildItem cmdlet mostra tre directory nella C:\Temp directory . Usando i caratteri jolly, il New-Item cmdlet crea un temp.txt file in tutte le directory nella directory corrente. Il New-Item cmdlet restituisce gli elementi creati, che viene inviato tramite pipe a Select-Object per verificare i percorsi dei file appena creati.

Esempio 7: Creare un collegamento simbolico a un file o una cartella

In questo esempio viene creato un collegamento simbolico al file Notice.txt nella cartella corrente.

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

In questo esempio Target è un alias per il parametro Value. La destinazione del collegamento simbolico deve essere un percorso completo.

Esempio 8: Usare il parametro -Force per tentare di ricreare le cartelle

In questo esempio viene creata una cartella con un file all'interno di . Tenta quindi di creare la stessa cartella usando -Force. Non sovrascriverà la cartella, ma restituirà semplicemente l'oggetto cartella esistente con il file creato intatto.

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

Esempio 9: Usare il parametro -Force per sovrascrivere i file esistenti

In questo esempio viene creato un file con un valore e quindi viene ricreato il file usando -Force. In questo modo viene sovrascritto il file esistente, come si può notare dalla proprietà 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

Annotazioni

Quando si usa New-Item con l'opzione per creare chiavi del -Force Registro di sistema, il comando si comporta come quando si sovrascrive un file. Se la chiave del Registro di sistema esiste già, la chiave e tutti i valori e le proprietà verranno sovrascritti con una chiave del Registro di sistema vuota.

Parametri

-ApplicationName

Si tratta di un parametro dinamico reso disponibile dal provider WSMan . Il provider WSMan e questo parametro sono disponibili solo in Windows.

Specifica il nome dell'applicazione nella connessione. Il valore predefinito del parametro ApplicationName è WSMAN.

Per altre informazioni, vedere New-WSManInstance.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

nameSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Authentication

Si tratta di un parametro dinamico reso disponibile dal provider WSMan . Il provider WSMan e questo parametro sono disponibili solo in Windows.

Specifica il meccanismo di autenticazione da utilizzare nel server.

Per altre informazioni, vedere New-WSManInstance.

Proprietà dei parametri

Tipo:AuthenticationMechanism
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-CertificateThumbprint

Si tratta di un parametro dinamico reso disponibile dal provider WSMan . Il provider WSMan e questo parametro sono disponibili solo in Windows.

Specifica il certificato di chiave pubblica digitale (X509) di un account utente autorizzato a eseguire questa azione WSMan. Immettere l'impronta digitale del certificato.

Per altre informazioni, vedere New-WSManInstance.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:cfr

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-ConnectionURI

Si tratta di un parametro dinamico reso disponibile dal provider WSMan . Il provider WSMan e questo parametro sono disponibili solo in Windows.

Specifica l'endpoint di connessione per WSMan.

Per altre informazioni, vedere New-WSManInstance.

Proprietà dei parametri

Tipo:Uri
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

pathSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Credential

Annotazioni

Questo parametro non è supportato da alcun provider installato con PowerShell. Per rappresentare un altro utente o elevare le credenziali quando si esegue questo cmdlet, usare Invoke-Command.

Proprietà dei parametri

Tipo:PSCredential
Valore predefinito:Current user
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Force

Forza questo cmdlet a creare un elemento che scrive su un elemento di sola lettura esistente. L'implementazione varia da provider a provider. Anche usando il parametro Force, il cmdlet non può eseguire l'override delle restrizioni di sicurezza.

Non è possibile usare Force per sovrascrivere una giunzione esistente. Tenta di sovrascrivere un errore di giunzione esistente con un errore "non può essere rimosso perché non è vuoto". È necessario rimuovere la giunzione esistente prima di crearne una nuova.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-ItemType

Specifica il tipo specificato dal provider del nuovo elemento. I valori disponibili di questo parametro dipendono dal provider corrente in uso.

Se la posizione si trova in un'unità FileSystem , sono consentiti i valori seguenti:

  • File
  • Directory
  • SymbolicLink
  • Junction
  • HardLink

Quando si crea un file usando questo metodo, il file risultante viene codificato come UTF-8 senza un byte-order-mark (BOM).

In un'unità Certificate , questi sono i valori che è possibile specificare:

  • Certificate Provider
  • Certificate
  • Store
  • StoreLocation

Per altre informazioni, vedere about_Providers.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:TIPO

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Name

Specifica il nome del nuovo elemento. È possibile specificare il nome del nuovo elemento nel valore del parametro Name o Path ed è possibile specificare il percorso del nuovo elemento in Nome o Percorso . I nomi degli elementi passati usando il parametro Name vengono creati in relazione al valore del parametro Path .

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

nameSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Options

Si tratta di un parametro dinamico reso disponibile dal provider alias . Per altre informazioni, vedere New-Alias.

Specifica il valore della proprietà "Opzioni" di di un alias.

I valori validi sono:

  • None: l'alias non ha vincoli (valore predefinito)
  • ReadOnly: l'alias può essere eliminato ma non può essere modificato senza usare il parametro Force
  • Constant: l'alias non può essere eliminato o modificato
  • Private: l'alias è disponibile solo nell'ambito corrente
  • AllScope: l'alias viene copiato in tutti i nuovi ambiti creati
  • Unspecified: l'opzione non è specificata

Proprietà dei parametri

Tipo:ScopedItemOptions
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-OptionSet

Si tratta di un parametro dinamico reso disponibile dal provider WSMan . Il provider WSMan e questo parametro sono disponibili solo in Windows.

Passa un set di opzioni a un servizio per modificare o perfezionare la natura della richiesta.

Per altre informazioni, vedere New-WSManInstance.

Proprietà dei parametri

Tipo:Hashtable
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:Sistema operativo

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Path

Specifica il percorso del nuovo elemento. Il valore predefinito è il percorso corrente quando Path viene omesso. È possibile specificare il nome del nuovo elemento in Nome o includerlo in Path. I nomi degli elementi passati usando il parametro Name vengono creati in relazione al valore del parametro Path .

Per questo cmdlet, il parametro Path funziona come il parametro LiteralPath di altri cmdlet. I caratteri jolly non vengono interpretati. Tutti i caratteri vengono passati al provider del percorso. Il provider potrebbe non supportare tutti i caratteri. Ad esempio, non è possibile creare un nome file contenente un carattere asterisco (*).

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:Current location
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

pathSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
nameSet
Posizione:0
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Port

Si tratta di un parametro dinamico reso disponibile dal provider WSMan . Il provider WSMan e questo parametro sono disponibili solo in Windows.

Specifica la porta da usare quando il client si connette al servizio WinRM.

Per altre informazioni, vedere New-WSManInstance.

Proprietà dei parametri

Tipo:Int32
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-SessionOption

Si tratta di un parametro dinamico reso disponibile dal provider WSMan . Il provider WSMan e questo parametro sono disponibili solo in Windows.

Definisce un set di opzioni estese per la sessione di WS-Management.

Per altre informazioni, vedere New-WSManInstance.

Proprietà dei parametri

Tipo:SessionOption
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:COSÌ

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-UseSSL

Si tratta di un parametro dinamico reso disponibile dal provider WSMan . Il provider WSMan e questo parametro sono disponibili solo in Windows.

Specifica che il protocollo SSL (Secure Sockets Layer) deve essere usato per stabilire una connessione al computer remoto. Per impostazione predefinita, SSL non viene usato.

Per altre informazioni, vedere New-WSManInstance.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

nameSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-UseTransaction

Include il comando nella transazione attiva. Questo parametro è valido solo quando è in corso una transazione. Per altre informazioni, vedere about_Transactions.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:usetx

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Value

Specifica il valore del nuovo elemento. È anche possibile inviare tramite pipe un valore a New-Item.

Proprietà dei parametri

Tipo:Object
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:Obiettivo

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:Wi

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

Object

È possibile inviare tramite pipe un valore per il nuovo elemento a questo cmdlet.

Output

DictionaryEntry

Il cmdlet restituisce un oggetto DictionaryEntry durante la creazione di una nuova variabile di ambiente.

DirectoryInfo

Il cmdlet restituisce un oggetto DirectoryInfo durante la creazione di una nuova directory nel file system.

FileInfo

Il cmdlet restituisce un oggetto FileInfo durante la creazione di un nuovo file nel file system.

AliasInfo

Il cmdlet restituisce un oggetto AliasInfo durante la creazione di un nuovo alias.

FunctionInfo

Il cmdlet restituisce un oggetto FunctionInfo durante la creazione di una nuova funzione.

PSVariable

Il cmdlet restituisce un oggetto PSVariable durante la creazione di una nuova variabile.

Note

Windows PowerShell include gli alias seguenti per New-Item:

  • ni

New-Item è progettato per lavorare con i dati esposti da qualsiasi provider. Per elencare i provider disponibili nella sessione, digitare Get-PSProvider. Per altre informazioni, consultare about_Providers.