Compartir a través de


New-Item

Crea un elemento nuevo.

Sintaxis

pathSet (Default) - All providers

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

nameSet - All providers

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

pathSet (Default) - WSMan provider

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>]

nameSet - WSMan provider

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>]

pathSet (Default) - Alias provider

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

nameSet - Alias provider

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

Description

El cmdlet New-Item crea un nuevo elemento y establece su valor. Los tipos de elementos que se pueden crear dependen de la ubicación del elemento. Por ejemplo, en el sistema de archivos, New-Item crea archivos y carpetas. En el Registro, New-Item crea claves y entradas del Registro.

New-Item también puede establecer el valor de los elementos que crea. Por ejemplo, cuando crea un nuevo archivo, New-Item puede agregar contenido inicial al archivo.

Ejemplos

Ejemplo 1: Crear un archivo en el directorio actual

Este comando crea un archivo de texto denominado "testfile1.txt" en el directorio actual. El punto ('.') en el valor del parámetro Path indica el directorio actual. El texto entre comillas que sigue al parámetro Value se agrega al archivo como contenido.

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

Ejemplo 2: Creación de un directorio

Este comando crea un directorio denominado "Logfiles" en la unidad C:. El parámetro ItemType especifica que el nuevo elemento es un directorio, no un archivo u otro objeto de sistema de archivos.

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

Ejemplo 3: Crear un perfil

Este comando crea un perfil de PowerShell en la ruta de acceso especificada por la variable $PROFILE.

Puede usar perfiles para personalizar PowerShell. $PROFILE es una variable automática (integrada) que almacena la ruta de acceso y el nombre de archivo del perfil "CurrentUser/CurrentHost". De forma predeterminada, el perfil no existe, aunque PowerShell almacene una ruta de acceso y un nombre de archivo para él.

En este comando, la variable $PROFILE representa la ruta de acceso del archivo. parámetro ItemType especifica que el comando crea un archivo. El parámetro Force permite crear un archivo en la ruta de acceso del perfil, incluso cuando los directorios de la ruta de acceso no existen.

Después de crear un perfil, puede escribir alias, funciones y scripts en el perfil para personalizar el shell.

Para obtener más información, consulte about_Automatic_Variables y about_Profiles.

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

Ejemplo 4: Creación de un directorio en otro directorio

En este ejemplo se crea un nuevo directorio Scripts en el directorio "C:\PS-Test".

El nombre del nuevo elemento de directorio, "Scripts", se incluye en el valor de parámetro Path, en lugar de especificarse en el valor de Nombre. Como se indica en la sintaxis, cualquiera de los formularios de comando es válido.

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

Ejemplo 5: Crear varios archivos

En este ejemplo se crean archivos en dos directorios diferentes. Dado que ruta de acceso toma varias cadenas, puede usarla para crear varios elementos.

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

Ejemplo 6: Uso de caracteres comodín para crear archivos en varios directorios

El cmdlet New-Item admite caracteres comodín en el parámetro Path. El comando siguiente crea un archivo temp.txt en todos los directorios especificados por los caracteres comodín del parámetro path de.

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

El cmdlet Get-ChildItem muestra tres directorios en el directorio C:\Temp. Con caracteres comodín, el cmdlet New-Item crea un archivo temp.txt en todos los directorios del directorio actual. El cmdlet New-Item genera los elementos que creó, que se canalizan a Select-Object para comprobar las rutas de acceso de los archivos recién creados.

Ejemplo 7: Crear un vínculo simbólico a un archivo o carpeta

En este ejemplo se crea un vínculo simbólico al archivo Notice.txt de la carpeta actual.

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

En este ejemplo, target es un alias para el parámetro Value de. El destino del vínculo simbólico puede ser una ruta de acceso relativa. Antes de PowerShell v6.2, el destino debe ser una ruta de acceso completa.

A partir de PowerShell 7.1, ahora puede crear en un SymbolicLink a una carpeta de Windows mediante una ruta de acceso relativa.

Ejemplo 8: Uso del parámetro -Force para intentar volver a crear carpetas

En este ejemplo se crea una carpeta con un archivo dentro. A continuación, intenta crear la misma carpeta mediante -Force. No sobrescribirá la carpeta, sino simplemente devolverá el objeto de carpeta existente con el archivo creado intacto.

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

Ejemplo 9: Uso del parámetro Force para sobrescribir los archivos existentes

En este ejemplo se crea un archivo con un valor y, a continuación, se vuelve a crear el archivo mediante el parámetro Force. Esto sobrescribe el archivo existente, como puede ver en la propiedad 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

Nota:

Al usar New-Item con el parámetro Force para crear claves del Registro, el comando se comporta igual que al sobrescribir un archivo. Si la clave del Registro ya existe, la clave y todas las propiedades y valores se sobrescriben con una clave del Registro vacía.

Parámetros

-ApplicationName

Este es un parámetro dinámico que el proveedor de WSMan pone a disposición. El proveedor de WSMan de y este parámetro solo están disponibles en Windows.

Especifica el nombre de la aplicación en la conexión. El valor predeterminado del parámetro ApplicationName es WSMAN.

Para obtener más información, vea New-WSManInstance.

Propiedades del parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

nameSet
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Authentication

Este es un parámetro dinámico que el proveedor de WSMan pone a disposición. El proveedor de WSMan de y este parámetro solo están disponibles en Windows.

Especifica el mecanismo de autenticación que se va a usar en el servidor.

Para obtener más información, vea New-WSManInstance.

Propiedades del parámetro

Tipo:AuthenticationMechanism
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-CertificateThumbprint

Este es un parámetro dinámico que el proveedor de WSMan pone a disposición. El proveedor de WSMan de y este parámetro solo están disponibles en Windows.

Especifica el certificado de clave pública digital (X509) de una cuenta de usuario que tiene permiso para realizar esta acción de WSMan. Ingrese la huella digital del certificado.

Para obtener más información, vea New-WSManInstance.

Propiedades del parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Confirm

Le pide confirmación antes de ejecutar el cmdlet.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False
Alias:cf

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-ConnectionURI

Este es un parámetro dinámico que el proveedor de WSMan pone a disposición. El proveedor de WSMan de y este parámetro solo están disponibles en Windows.

Especifica el punto de conexión de WSMan.

Para obtener más información, vea New-WSManInstance.

Propiedades del parámetro

Tipo:Uri
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

pathSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Credential

Nota:

Este parámetro no es compatible con ningún proveedor instalado con PowerShell. Para suplantar a otro usuario o elevar sus credenciales al ejecutar este cmdlet, use Invoke-Command.

Propiedades del parámetro

Tipo:PSCredential
Valor predeterminado:Current user
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Force

Obliga a este cmdlet a crear un elemento que escribe en un elemento de solo lectura existente. La implementación varía de proveedor a proveedor. Incluso con el parámetro Force, el cmdlet no puede invalidar las restricciones de seguridad.

A partir de PowerShell 7.4, este parámetro también permite sobrescribir una unión existente. Anteriormente, esto produciría un error "no se puede quitar porque no está vacío".

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-ItemType

Especifica el tipo especificado por el proveedor del nuevo elemento. Los valores disponibles de este parámetro dependen del proveedor actual que use.

Si la ubicación está en una unidad de FileSystem, se permiten los siguientes valores:

  • File
  • Directory
  • SymbolicLink
  • Junction
  • HardLink

Nota:

La creación de un tipo de SymbolicLink en Windows requiere elevación como administrador. Sin embargo, Windows 10 (compilación 14972 o posterior) con el modo de desarrollador habilitado ya no requiere la creación de vínculos simbólicos de elevación.

En una unidad de Certificate, estos son los valores que puede especificar:

  • Certificate Provider
  • Certificate
  • Store
  • StoreLocation

Para obtener más información, vea about_Providers.

Propiedades del parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:Tipo

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Name

Especifica el nombre del nuevo elemento. Puede especificar el nombre del nuevo elemento en el Nombre o valor de parámetro path, y puede especificar la ruta de acceso del nuevo elemento en Nombre o valor de ruta de acceso. Los nombres de elementos pasados mediante el parámetro Name se crean en relación con el valor del parámetro Path de.

Propiedades del parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

nameSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Options

Este es un parámetro dinámico que el proveedor alias de pone a disposición. Para obtener más información, vea New-Alias.

Especifica el valor de la propiedad Options de un alias.

Los valores válidos son:

  • None: el alias no tiene restricciones (valor predeterminado)
  • ReadOnly: el alias se puede eliminar, pero no se puede cambiar sin usar el parámetro Force
  • Constant: el alias no se puede eliminar ni cambiar.
  • Private: el alias solo está disponible en el ámbito actual.
  • AllScope: El alias se copia en todos los nuevos ámbitos que se creen.
  • Unspecified: no se especifica la opción

Propiedades del parámetro

Tipo:ScopedItemOptions
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-OptionSet

Este es un parámetro dinámico que el proveedor de WSMan pone a disposición. El proveedor de WSMan de y este parámetro solo están disponibles en Windows.

Pasa un conjunto de modificadores a un servicio para modificar o refinar la naturaleza de la solicitud.

Para obtener más información, vea New-WSManInstance.

Propiedades del parámetro

Tipo:Hashtable
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:Sistema operativo

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Path

Especifica la ruta de acceso de la ubicación del nuevo elemento. El valor predeterminado es la ubicación actual cuando se omite ruta de acceso. Puede especificar el nombre del nuevo elemento en Nombreo incluirlo en Ruta de acceso. Los nombres de elementos pasados mediante el parámetro Name se crean en relación con el valor del parámetro Path de.

Para este cmdlet, el parámetro Path de funciona como el parámetro LiteralPath de otros cmdlets. Los caracteres comodín no se interpretan. Todos los caracteres se pasan al proveedor de la ubicación. Es posible que el proveedor no admita todos los caracteres. Por ejemplo, no puede crear un nombre de archivo que contenga un carácter asterisco (*).

Propiedades del parámetro

Tipo:

String[]

Valor predeterminado:Current location
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

pathSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False
nameSet
Posición:0
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Port

Este es un parámetro dinámico que el proveedor de WSMan pone a disposición. El proveedor de WSMan de y este parámetro solo están disponibles en Windows.

Especifica el puerto que se va a usar cuando el cliente se conecta al servicio WinRM.

Para obtener más información, vea New-WSManInstance.

Propiedades del parámetro

Tipo:Int32
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-SessionOption

Este es un parámetro dinámico que el proveedor de WSMan pone a disposición. El proveedor de WSMan de y este parámetro solo están disponibles en Windows.

Define un conjunto de opciones extendidas para la sesión WS-Management.

Para obtener más información, vea New-WSManInstance.

Propiedades del parámetro

Tipo:SessionOption
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:Así que

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-UseSSL

Este es un parámetro dinámico que el proveedor de WSMan pone a disposición. El proveedor de WSMan de y este parámetro solo están disponibles en Windows.

Especifica que debe utilizarse el protocolo de capa de sockets seguros (SSL) para establecer una conexión con equipo remoto. De forma predeterminada, no se usa SSL.

Para obtener más información, vea New-WSManInstance.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

nameSet
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Value

Especifica el valor del nuevo elemento. También puede canalizar un valor a New-Item.

Propiedades del parámetro

Tipo:Object
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:Objetivo

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-WhatIf

Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False
Alias:Wi

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

Object

Puede canalizar un valor para el nuevo elemento a este cmdlet.

Salidas

DictionaryEntry

El cmdlet devuelve un objeto DictionaryEntry al crear una nueva variable de entorno.

DirectoryInfo

El cmdlet devuelve un objeto DirectoryInfo al crear un nuevo directorio en el sistema de archivos.

FileInfo

El cmdlet devuelve un objeto FileInfo al crear un nuevo archivo en el sistema de archivos.

AliasInfo

El cmdlet devuelve un objeto AliasInfo al crear un nuevo alias.

FunctionInfo

El cmdlet devuelve un objeto FunctionInfo al crear una nueva función.

PSVariable

El cmdlet devuelve un objeto PSVariable al crear una nueva variable.

Notas

PowerShell incluye los siguientes alias para New-Item:

  • Todas las plataformas:
    • ni

New-Item está diseñado para trabajar con los datos expuestos por cualquier proveedor. Para enumerar los proveedores disponibles en la sesión, escriba Get-PSProvider. Para obtener más información, consulte about_Providers.