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:
FileDirectorySymbolicLinkJunctionHardLink
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 ProviderCertificateStoreStoreLocation
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.