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
Задает имя нового элемента. Вы можете указать имя нового элемента в значении параметра
Свойства параметра
Тип: | 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
Указывает путь к расположению нового элемента. По умолчанию используется текущее расположение, если путь опущен. Можно указать имя нового элемента вимени
Для этого командлета параметр пути работает как параметр 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
. Дополнительные сведения см. в разделе о поставщиках.