Поделиться через


New-Item

Создает новый элемент.

Синтаксис

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

Описание

Командлет New-Item создает новый элемент и задает его значение. Типы элементов, которые можно создать, зависят от расположения элемента. Например, в файловой системе New-Item создавать файлы и папки. В реестре New-Item создает разделы и записи реестра.

New-Item также может задать значение создаваемых элементов. Например, при создании нового файла New-Item может добавить исходное содержимое в файл.

Примеры

Пример 1. Создание файла в текущем каталоге

Эта команда создает текстовый файл с именем "testfile1.txt" в текущем каталоге. Точка ('.') в значении параметра Path указывает текущий каталог. Приведенный в кавычки текст, следующий за параметром значения , добавляется в файл в виде содержимого.

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

Пример 2. Создание каталога

Эта команда создает каталог с именем Logfiles на диске C:. Параметр ItemType указывает, что новый элемент является каталогом, а не файлом или другим объектом файловой системы.

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

Пример 3. Создание профиля

Эта команда создает профиль PowerShell в пути, указанном переменной $PROFILE.

Профили можно использовать для настройки PowerShell. $PROFILE — это автоматическая (встроенная) переменная, которая хранит путь и имя файла профиля CurrentUser/CurrentHost. По умолчанию профиль не существует, даже если PowerShell хранит путь и имя файла для него.

В этой команде переменная $PROFILE представляет путь к файлу. параметр ItemType указывает, что команда создает файл. Параметр Force позволяет создать файл в пути профиля, даже если каталоги в пути не существуют.

После создания профиля можно ввести псевдонимы, функции и скрипты в профиле, чтобы настроить оболочку.

Дополнительные сведения см. в about_Automatic_Variables и about_Profiles.

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

Пример 4. Создание каталога в другом каталоге

В этом примере создается новый каталог скриптов в каталоге C:\PS-Test.

Имя нового элемента каталога "Скрипты" включается в значение параметра Path, а не указано в значении Name. Как указано в синтаксисе, любая форма команды допустима.

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

Пример 5. Создание нескольких файлов

В этом примере создаются файлы в двух разных каталогах. Так как пути принимает несколько строк, его можно использовать для создания нескольких элементов.

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

Пример 6. Использование подстановочных знаков для создания файлов в нескольких каталогах

Командлет New-Item поддерживает подстановочные знаки в параметре Path. Следующая команда создает файл temp.txt во всех каталогах, указанных подстановочными знаками в параметре пути.

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

Командлет Get-ChildItem отображает три каталога в каталоге C:\Temp. С помощью подстановочных знаков командлет New-Item создает файл temp.txt во всех каталогах в текущем каталоге. Командлет New-Item выводит созданные элементы, которые передаются в Select-Object для проверки путей только что созданных файлов.

Пример 7. Создание символьной ссылки на файл или папку

В этом примере создается символьная ссылка на файл Notice.txt в текущей папке.

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

В этом примере Target является псевдонимом параметра значения. Цель символьной ссылки может быть относительным путем. До PowerShell версии 6.2 целевой объект должен быть полным путем.

Начиная с PowerShell 7.1, теперь вы можете создать Символьныйlink в папку в Windows с помощью относительного пути.

Пример 8. Использование параметра -Force для повторного создания папок

В этом примере создается папка с файлом внутри. Затем пытается создать ту же папку с помощью -Force. Он не перезаписывает папку, но просто возвращает существующий объект папки с созданным нетронутым файлом.

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

Пример 9. Использование параметра Force для перезаписи существующих файлов

В этом примере создается файл, содержащий значение, а затем воссоздается файл с помощью параметра Force. Это перезаписывает существующий файл, как показано свойством 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

Замечание

При использовании New-Item с параметром принудительного для создания разделов реестра команда действует так же, как при перезаписи файла. Если ключ реестра уже существует, ключ и все свойства и значения перезаписываются пустым ключом реестра.

Параметры

-ApplicationName

Это динамический параметр, доступный поставщиком WSMan. Поставщик WSMan и этот параметр доступен только в Windows.

Указывает имя приложения в соединении. Значением по умолчанию параметра ApplicationName является WSMAN.

Дополнительные сведения см. в разделе New-WSManInstance.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

nameSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Authentication

Это динамический параметр, доступный поставщиком WSMan. Поставщик WSMan и этот параметр доступен только в Windows.

Указывает механизм проверки подлинности, используемый на сервере.

Дополнительные сведения см. в разделе New-WSManInstance.

Свойства параметра

Тип:AuthenticationMechanism
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-CertificateThumbprint

Это динамический параметр, доступный поставщиком WSMan. Поставщик WSMan и этот параметр доступен только в Windows.

Указывает сертификат цифрового открытого ключа (X509) учетной записи пользователя, которая имеет разрешение на выполнение этого действия WSMan. Введите отпечаток пальца сертификата.

Дополнительные сведения см. в разделе New-WSManInstance.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Confirm

Запрашивает подтверждение перед запуском cmdlet.

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:cf

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ConnectionURI

Это динамический параметр, доступный поставщиком WSMan. Поставщик WSMan и этот параметр доступен только в Windows.

Указывает конечную точку подключения для WSMan.

Дополнительные сведения см. в разделе New-WSManInstance.

Свойства параметра

Тип:Uri
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

pathSet
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Credential

Замечание

Этот параметр не поддерживается поставщиками, установленными с помощью PowerShell. Чтобы олицетворить другого пользователя или повысить свои учетные данные при выполнении этого командлета, используйте Invoke-Command.

Свойства параметра

Тип:PSCredential
Default value:Current user
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Force

Принудительно создает этот командлет для создания элемента, записываемого по существующему элементу только для чтения. Реализация зависит от поставщика к поставщику. Даже при использовании параметра Force командлет не может обойти ограничения безопасности.

Начиная с PowerShell 7.4, этот параметр также позволяет перезаписать существующее соединение. Ранее это приведет к сбою с ошибкой "не удается удалить, так как она не пуста".

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ItemType

Указывает указанный поставщиком тип нового элемента. Доступные значения этого параметра зависят от используемого текущего поставщика.

Если ваше расположение находится на диске FileSystem, допустимы следующие значения:

  • File
  • Directory
  • SymbolicLink
  • Junction
  • HardLink

Замечание

Для создания типа SymbolicLink в Windows требуется повышение прав администратора. Однако Windows 10 (сборка 14972 или более новая версия) с включенным режимом разработчика больше не требует повышения прав, создавая символьные ссылки.

На диске Certificate это значения, которые можно указать:

  • Certificate Provider
  • Certificate
  • Store
  • StoreLocation

Дополнительные сведения см. в about_Providers.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:Тип

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Name

Задает имя нового элемента. Вы можете указать имя нового элемента в значении параметра или path, а также указать путь нового элемента в Name или Path значение. Имена элементов, передаваемые с помощью параметра имени, создаются относительно значения параметра пути.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

nameSet
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Options

Это динамический параметр, доступный поставщиком псевдонимов. Дополнительные сведения см. в new-Alias.

Указывает значение свойства Options псевдонима.

Допустимые значения:

  • None: псевдоним не имеет ограничений (значение по умолчанию)
  • ReadOnly: псевдоним можно удалить, но не может быть изменен без использования параметра Force
  • Constant: псевдоним нельзя удалить или изменить
  • Private: Этот псевдоним доступен только в текущей области
  • AllScope: псевдоним копируется в любые новые области, которые создаются
  • Unspecified: параметр не указан

Свойства параметра

Тип:ScopedItemOptions
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-OptionSet

Это динамический параметр, доступный поставщиком WSMan. Поставщик WSMan и этот параметр доступен только в Windows.

Передает набор коммутаторов в службу для изменения или уточнения характера запроса.

Дополнительные сведения см. в разделе New-WSManInstance.

Свойства параметра

Тип:Hashtable
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:ОС

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Path

Указывает путь к расположению нового элемента. По умолчанию используется текущее расположение, если путь опущен. Можно указать имя нового элемента вимени или включить его в path. Имена элементов, передаваемые с помощью параметра имени, создаются относительно значения параметра пути.

Для этого командлета параметр пути работает как параметр LiteralPath других командлетов. Подстановочные знаки не интерпретируются. Все символы передаются поставщику расположения. Поставщик может не поддерживать все символы. Например, нельзя создать имя файла, содержащее символ звездочки (*) .

Свойства параметра

Тип:

String[]

Default value:Current location
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

pathSet
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
nameSet
Position:0
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Port

Это динамический параметр, доступный поставщиком WSMan. Поставщик WSMan и этот параметр доступен только в Windows.

Указывает порт, используемый при подключении клиента к службе WinRM.

Дополнительные сведения см. в разделе New-WSManInstance.

Свойства параметра

Тип:Int32
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-SessionOption

Это динамический параметр, доступный поставщиком WSMan. Поставщик WSMan и этот параметр доступен только в Windows.

Определяет набор расширенных параметров для сеанса WS-Management.

Дополнительные сведения см. в разделе New-WSManInstance.

Свойства параметра

Тип:SessionOption
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:Итак

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-UseSSL

Это динамический параметр, доступный поставщиком WSMan. Поставщик WSMan и этот параметр доступен только в Windows.

Указывает, что протокол SSL должен использоваться для установления подключения к удаленному компьютеру. По умолчанию SSL не используется.

Дополнительные сведения см. в разделе New-WSManInstance.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

nameSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Value

Указывает значение нового элемента. Можно также передать значение в New-Item.

Свойства параметра

Тип:Object
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:Цель

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:True
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-WhatIf

Показывает, что произойдет, если командлет будет запущен. Командлет не выполняется.

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:wi

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

Входные данные

Object

Можно передать значение нового элемента в этот командлет.

Выходные данные

DictionaryEntry

Командлет возвращает объект DictionaryEntry при создании новой переменной среды.

DirectoryInfo

Командлет возвращает объект DirectoryInfo при создании нового каталога в файловой системе.

FileInfo

Командлет возвращает объект FileInfo при создании нового файла в файловой системе.

AliasInfo

Командлет возвращает объект AliasInfo при создании нового псевдонима.

FunctionInfo

Командлет возвращает объект FunctionInfo при создании новой функции.

PSVariable

Командлет возвращает объект PSVariable при создании новой переменной.

Примечания

PowerShell включает следующие псевдонимы для New-Item:

  • Все платформы:
    • ni

New-Item предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы вывести список поставщиков, доступных в сеансе, введите Get-PSProvider. Дополнительные сведения см. в разделе о поставщиках.