New-Item
Crée un élément.
Syntaxe
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
L’applet New-Item
de commande crée un élément et définit sa valeur. Les types d’éléments qui peuvent être créés dépendent de l’emplacement de l’élément. Par exemple, dans le système de fichiers, New-Item
crée des fichiers et des dossiers. Dans le Registre, New-Item
crée des clés et des entrées de Registre.
New-Item
peut également définir la valeur des éléments qu’il crée. Par exemple, lorsqu’il crée un fichier, New-Item
peut ajouter du contenu initial au fichier.
Exemples
Exemple 1 : Créer un fichier dans le répertoire actif
Cette commande crée un fichier texte nommé « testfile1.txt » dans le répertoire actif. Le point ('.') dans la valeur du paramètre Path indique le répertoire actif. Le texte entre guillemets qui suit le paramètre Value est ajouté au fichier en tant que contenu.
New-Item -Path . -Name "testfile1.txt" -ItemType "file" -Value "This is a text string."
Exemple 2 : Créer un répertoire
Cette commande crée un répertoire nommé « Logfiles » dans le C:
lecteur. Le paramètre ItemType spécifie que le nouvel élément est un répertoire, et non un fichier ou un autre objet de système de fichiers.
New-Item -Path "c:\" -Name "logfiles" -ItemType "directory"
Exemple 3 : Créer un profil
Cette commande crée un profil PowerShell dans le chemin d’accès spécifié par la $profile
variable.
Vous pouvez utiliser des profils pour personnaliser PowerShell. $profile
est une variable automatique (intégrée) qui stocke le chemin d’accès et le nom de fichier du profil « CurrentUser/CurrentHost ». Par défaut, le profil n’existe pas, même si PowerShell stocke un chemin d’accès et un nom de fichier pour celui-ci.
Dans cette commande, la $profile
variable représente le chemin d’accès du fichier. Le paramètre ItemType spécifie que la commande crée un fichier. Le paramètre Force vous permet de créer un fichier dans le chemin du profil, même lorsque les répertoires du chemin d’accès n’existent pas.
Après avoir créé un profil, vous pouvez entrer des alias, des fonctions et des scripts dans le profil pour personnaliser votre interpréteur de commandes.
Pour plus d’informations, consultez about_Automatic_Variables et about_Profiles.
New-Item -Path $profile -ItemType "file" -Force
Exemple 4 : Créer un répertoire dans un autre répertoire
Cet exemple crée un répertoire Scripts dans le répertoire « C :\PS-Test ».
Le nom du nouvel élément de répertoire, « Scripts », est inclus dans la valeur du paramètre Path , au lieu d’être spécifié dans la valeur de Name. Comme indiqué par la syntaxe, les deux formes de commande sont valides.
New-Item -ItemType "directory" -Path "c:\ps-test\scripts"
Exemple 5 : Créer plusieurs fichiers
Cet exemple crée des fichiers dans deux répertoires différents. Étant donné que Path accepte plusieurs chaînes, vous pouvez l’utiliser pour créer plusieurs éléments.
New-Item -ItemType "file" -Path "c:\ps-test\test.txt", "c:\ps-test\Logs\test.log"
Exemple 6 : Utiliser des caractères génériques pour créer des fichiers dans plusieurs répertoires
L’applet New-Item
de commande prend en charge les caractères génériques dans le paramètre Path . La commande suivante crée un temp.txt
fichier dans tous les répertoires spécifiés par les caractères génériques dans le paramètre 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
L’applet Get-ChildItem
de commande affiche trois répertoires sous le C:\Temp
répertoire. À l’aide de caractères génériques, l’applet New-Item
de commande crée un temp.txt
fichier dans tous les répertoires sous le répertoire actif. L’applet New-Item
de commande génère les éléments que vous avez créés, qui sont redirigés pour Select-Object
vérifier les chemins des fichiers nouvellement créés.
Exemple 7 : Créer un lien symbolique vers un fichier ou un dossier
Cet exemple crée un lien symbolique vers le fichier Notice.txt dans le dossier actif.
$link = New-Item -ItemType SymbolicLink -Path .\link -Target .\Notice.txt
$link | Select-Object LinkType, Target
LinkType Target
-------- ------
SymbolicLink {.\Notice.txt}
Dans cet exemple, Target est un alias pour le paramètre Value . La cible du lien symbolique peut être un chemin relatif. Avant PowerShell v6.2, la cible doit être un chemin complet.
À compter de PowerShell 7.1, vous pouvez désormais créer un lien symbolique vers un dossier sur Windows à l’aide d’un chemin relatif.
Exemple 8 : Utiliser le paramètre -Force pour tenter de recréer des dossiers
Cet exemple crée un dossier avec un fichier à l’intérieur. Ensuite, tente de créer le même dossier à l’aide -Force
de . Il ne remplace pas le dossier, mais retourne simplement l’objet dossier existant avec le fichier créé intact.
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
Exemple 9 : Utiliser le paramètre -Force pour remplacer les fichiers existants
Cet exemple crée un fichier avec une valeur, puis recrée le fichier à l’aide -Force
de . Cela remplace le fichier existant, comme vous pouvez le voir par la propriété 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
Remarque
Lorsque vous utilisez New-Item
le -Force
commutateur pour créer des clés de Registre, la commande se comporte de la même façon que lors de l’écriture d’un fichier. Si la clé de Registre existe déjà, la clé et toutes les propriétés et toutes les valeurs sont remplacées par une clé de Registre vide.
Paramètres
-ApplicationName
Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur WSMan . Le fournisseur WSMan et ce paramètre sont disponibles uniquement sur Windows.
Spécifie le nom d'application de la connexion. La valeur par défaut du paramètre ApplicationName est WSMAN.
Pour plus d’informations, consultez New-WSManInstance.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Authentication
Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur WSMan . Le fournisseur WSMan et ce paramètre sont disponibles uniquement sur Windows.
Spécifie le mécanisme d’authentification à utiliser au niveau du serveur.
Pour plus d’informations, consultez New-WSManInstance.
Type: | AuthenticationMechanism |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-CertificateThumbprint
Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur WSMan . Le fournisseur WSMan et ce paramètre sont disponibles uniquement sur Windows.
Spécifie le certificat de clé publique numérique (X509) d’un compte d’utilisateur autorisé à effectuer cette action WSMan. Entrez l’empreinte numérique du certificat.
Pour plus d’informations, consultez New-WSManInstance.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Confirm
Vous demande une confirmation avant d’exécuter la commande cmdlet.
Type: | SwitchParameter |
Alias: | cf |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-ConnectionURI
Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur WSMan . Le fournisseur WSMan et ce paramètre sont disponibles uniquement sur Windows.
Spécifie le point de terminaison de connexion pour WSMan.
Pour plus d’informations, consultez New-WSManInstance.
Type: | Uri |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Credential
Remarque
Ce paramètre n’est pas pris en charge par les fournisseurs installés avec PowerShell. Pour emprunter l’identité d’un autre utilisateur ou élever vos informations d’identification lors de l’exécution de cette applet de commande, utilisez Invoke-Command
.
Type: | PSCredential |
Position: | Named |
Valeur par défaut: | Current user |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Force
Force cette applet de commande à créer un élément qui écrit sur un élément en lecture seule existant. L'implémentation est différente d'un fournisseur à l'autre. Même à l’aide du paramètre Force , l’applet de commande ne peut pas remplacer les restrictions de sécurité.
À compter de PowerShell 7.4, ce paramètre vous permet également de remplacer une jonction existante. Auparavant, cela échouerait avec une erreur « Impossible de supprimer car elle n’est pas vide ».
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-ItemType
Spécifie le type indiqué par le fournisseur du nouvel élément. Les valeurs disponibles de ce paramètre dépendent du fournisseur actuel que vous utilisez.
Si votre emplacement se trouve dans un FileSystem
lecteur, les valeurs suivantes sont autorisées :
File
Directory
SymbolicLink
Junction
HardLink
Remarque
La création d’un type sur Windows nécessite une SymbolicLink
élévation en tant qu’administrateur. Toutefois, Windows 10 (build 14972 ou version ultérieure) avec le mode développeur activé ne nécessite plus d’élévation de création de liens symboliques.
Dans un Certificate
lecteur, voici les valeurs que vous pouvez spécifier :
Certificate Provider
Certificate
Store
StoreLocation
Pour plus d’informations, consultez about_Providers.
Type: | String |
Alias: | Type |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Name
Spécifie le nom du nouvel élément. Vous pouvez spécifier le nom du nouvel élément dans la valeur du paramètre Name ou Path , et vous pouvez spécifier le chemin d’accès du nouvel élément dans Name ou Path value. Les noms d’éléments passés à l’aide du paramètre Name sont créés par rapport à la valeur du paramètre Path .
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Options
Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur Alias . Pour plus d’informations, consultez New-Alias.
Spécifie la valeur de la propriété Options d’un alias.
Les valeurs valides sont :
None
: l’alias n’a aucune contrainte (valeur par défaut)ReadOnly
: l’alias peut être supprimé, mais ne peut pas être modifié sans utiliser le paramètre ForceConstant
: l’alias ne peut pas être supprimé ou modifiéPrivate
: l’alias est disponible uniquement dans l’étendue actuelleAllScope
: l’alias est copié dans toutes les nouvelles étendues crééesUnspecified
: l’option n’est pas spécifiée
Type: | ScopedItemOptions |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-OptionSet
Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur WSMan . Le fournisseur WSMan et ce paramètre sont disponibles uniquement sur Windows.
Transmet un ensemble de commutateurs à un service pour modifier ou affiner la nature de la demande.
Pour plus d’informations, consultez New-WSManInstance.
Type: | Hashtable |
Alias: | OS |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Path
Spécifie le chemin d’accès de l’emplacement du nouvel élément. La valeur par défaut est l’emplacement actuel lorsque chemin d’accès est omis. Vous pouvez spécifier le nom du nouvel élément dans Name ou l’inclure dans Path. Les noms d’éléments passés à l’aide du paramètre Name sont créés par rapport à la valeur du paramètre Path .
Pour cette applet de commande, le paramètre Path fonctionne comme le paramètre LiteralPath d’autres applets de commande.
Les caractères génériques ne sont pas interprétés. Tous les caractères sont passés au fournisseur de l’emplacement. Le fournisseur peut ne pas prendre en charge tous les caractères. Par exemple, vous ne pouvez pas créer de nom de fichier qui contient un astérisque (*
).
Type: | String[] |
Position: | 0 |
Valeur par défaut: | Current location |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Port
Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur WSMan . Le fournisseur WSMan et ce paramètre sont disponibles uniquement sur Windows.
Spécifie le port à utiliser lorsque le client se connecte au service WinRM.
Pour plus d’informations, consultez New-WSManInstance.
Type: | Int32 |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-SessionOption
Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur WSMan . Le fournisseur WSMan et ce paramètre sont disponibles uniquement sur Windows.
Définit un ensemble d'options étendues pour la session WS-Management.
Pour plus d’informations, consultez New-WSManInstance.
Type: | SessionOption |
Alias: | SO |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-UseSSL
Il s’agit d’un paramètre dynamique mis à disposition par le fournisseur WSMan . Le fournisseur WSMan et ce paramètre sont disponibles uniquement sur Windows.
Spécifie que le protocole SSL (Secure Sockets Layer) doit être utilisé pour établir une connexion à l'ordinateur distant. Par défaut, SSL n’est pas utilisé.
Pour plus d’informations, consultez New-WSManInstance.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Value
Spécifie la valeur du nouvel élément. Vous pouvez également diriger une valeur vers New-Item
.
Type: | Object |
Alias: | Target |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-WhatIf
Montre ce qui se passe en cas d’exécution de la commande cmdlet. La commande cmdlet n’est pas exécutée.
Type: | SwitchParameter |
Alias: | wi |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
Vous pouvez diriger une valeur pour le nouvel élément vers cette applet de commande.
Sorties
L’applet de commande retourne un objet DictionaryEntry lors de la création d’une variable d’environnement.
L’applet de commande retourne un objet DirectoryInfo lors de la création d’un répertoire dans le système de fichiers.
L’applet de commande retourne un objet FileInfo lors de la création d’un fichier dans le système de fichiers.
L’applet de commande retourne un objet AliasInfo lors de la création d’un nouvel alias.
L’applet de commande retourne un objet FunctionInfo lors de la création d’une fonction.
L’applet de commande retourne un objet PSVariable lors de la création d’une variable.
Notes
PowerShell inclut les alias suivants pour New-Item
:
- Toutes les plateformes :
ni
New-Item
est conçu pour fonctionner avec les données exposées par n’importe quel fournisseur. Pour répertorier les fournisseurs disponibles dans votre session, tapez Get-PsProvider
. Pour plus d’informations, consultez about_Providers.