다음을 통해 공유


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

Description

New-Item cmdlet은 새 항목을 만들고 해당 값을 설정합니다. 만들 수 있는 항목의 형식은 항목의 위치에 따라 달라집니다. 예를 들어 파일 시스템에서 New-Item 파일 및 폴더를 만듭니다. 레지스트리에서 New-Item 레지스트리 키와 항목을 만듭니다.

New-Item 만드는 항목의 값을 설정할 수도 있습니다. 예를 들어 새 파일을 만들 때 New-Item 파일에 초기 콘텐츠를 추가할 수 있습니다.

예제

예제 1: 현재 디렉터리에 파일 만들기

이 명령은 현재 디렉터리에 "testfile1.txt"이라는 텍스트 파일을 만듭니다. Path 매개 변수 값의 점('.')은 현재 디렉터리를 나타냅니다. Value 매개 변수 뒤에 있는 따옴표 붙은 텍스트가 파일에 콘텐츠로 추가됩니다.

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

예제 2: 디렉터리 만들기

이 명령은 C: 드라이브에 "Logfiles"라는 디렉터리를 만듭니다. ItemType 매개 변수는 새 항목이 파일 또는 다른 파일 시스템 개체가 아닌 디렉터리임을 지정합니다.

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

예제 3: 프로필 만들기

이 명령은 $PROFILE 변수로 지정된 경로에 PowerShell 프로필을 만듭니다.

프로필을 사용하여 PowerShell을 사용자 지정할 수 있습니다. $PROFILE "CurrentUser/CurrentHost" 프로필의 경로 및 파일 이름을 저장하는 자동(기본 제공) 변수입니다. PowerShell에서 경로와 파일 이름을 저장하더라도 기본적으로 프로필은 존재하지 않습니다.

이 명령에서 $PROFILE 변수는 파일의 경로를 나타냅니다. ItemType 매개 변수는 명령이 파일을 만들게 지정합니다. Force 매개 변수를 사용하면 경로의 디렉터리에 없는 경우에도 프로필 경로에 파일을 만들 수 있습니다.

프로필을 만든 후 프로필에 별칭, 함수 및 스크립트를 입력하여 셸을 사용자 지정할 수 있습니다.

자세한 내용은 about_Automatic_Variablesabout_Profiles참조하세요.

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

예제 4: 다른 디렉터리에 디렉터리 만들기

이 예제에서는 "C:\PS-Test" 디렉터리에 새 스크립트 디렉터리를 만듭니다.

새 디렉터리 항목의 이름인 "Scripts"는 Name값에 지정되지 않고 Path 매개 변수 값에 포함됩니다. 구문에 표시된 대로 두 명령 형식이 모두 유효합니다.

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 cmdlet은 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 cmdlet은 C:\Temp 디렉터리 아래에 세 개의 디렉터리를 표시합니다. 와일드카드를 사용하여 New-Item cmdlet은 현재 디렉터리 아래의 모든 디렉터리에 temp.txt 파일을 만듭니다. New-Item cmdlet은 새로 만든 파일의 경로를 확인하기 위해 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}

이 예제에서 대상Value 매개 변수의 별칭입니다. 기호 링크의 대상은 상대 경로일 수 있습니다. PowerShell v6.2 이전에는 대상이 정규화된 경로여야 합니다.

PowerShell 7.1부터 상대 경로를 사용하여 Windows의 폴더에 SymbolicLink를 만들 수 있습니다.

예제 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에서만 사용할 수 있습니다.

이 WSMan 작업을 수행할 수 있는 권한이 있는 사용자 계정의 디지털 공개 키 인증서(X509)를 지정합니다. 인증서의 인증서 지문을 입력합니다.

자세한 내용은 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
별칭:cf(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과 함께 설치된 공급자에서 지원되지 않습니다. 이 cmdlet을 실행할 때 다른 사용자를 가장하거나 자격 증명을 높이려면 Invoke-Command사용합니다.

매개 변수 속성

형식:PSCredential
Default value:Current user
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:True
나머지 인수의 값:False

-Force

이 cmdlet이 기존 읽기 전용 항목에 대해 쓰는 항목을 만들도록 합니다. 구현은 공급자마다 다릅니다. Force 매개 변수를 사용하는 경우에도 cmdlet은 보안 제한을 재정의할 수 없습니다.

PowerShell 7.4부터 이 매개 변수를 사용하면 기존 정션을 덮어쓸 수도 있습니다. 이전에는 "비어 있지 않으므로 제거할 수 없습니다." 오류로 인해 실패했습니다.

매개 변수 속성

형식:SwitchParameter
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-ItemType

새 항목의 공급자 지정 형식을 지정합니다. 이 매개 변수의 사용 가능한 값은 사용 중인 현재 공급자에 따라 달라집니다.

위치가 FileSystem 드라이브에 있는 경우 다음 값이 허용됩니다.

  • File
  • Directory
  • SymbolicLink
  • Junction
  • HardLink

비고

Windows에서 SymbolicLink 형식을 만들려면 관리자 권한 상승이 필요합니다. 그러나 개발자 모드를 사용하도록 설정된 Windows 10(빌드 14972 이상)에는 더 이상 기호 링크를 만드는 권한 상승이 필요하지 않습니다.

Certificate 드라이브에서 지정할 수 있는 값은 다음과 같습니다.

  • Certificate Provider
  • Certificate
  • Store
  • StoreLocation

자세한 내용은 about_Providers참조하세요.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False
별칭:유형

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:True
나머지 인수의 값:False

-Name

새 항목의 이름을 지정합니다. Name 또는 Path 매개 변수 값에서 새 항목의 이름을 지정할 수 있으며 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
별칭:운영 체제

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Path

새 항목의 위치 경로를 지정합니다. 기본값은 경로 생략할 때 현재 위치입니다. 이름새 항목의 이름을 지정하거나 경로포함할 수 있습니다. Name 매개 변수를 사용하여 전달된 항목 이름은 Path 매개 변수의 값을 기준으로 만들어집니다.

이 cmdlet의 경우 Path 매개 변수는 다른 cmdlet의 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
별칭:그래서

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-UseSSL

WSMan 공급자에서 사용할 수 있는 동적 매개 변수입니다. WSMan 공급자 및 이 매개 변수는 Windows에서만 사용할 수 있습니다.

SSL(Secure Sockets Layer) 프로토콜을 사용하여 원격 컴퓨터에 대한 연결을 설정하도록 지정합니다. 기본적으로 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
별칭:목표/타겟

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:True
속성 이름별 파이프라인의 값:True
나머지 인수의 값:False

-WhatIf

cmdlet이 실행되면 어떻게 되는지 보여 주세요. cmdlet이 실행되지 않습니다.

매개 변수 속성

형식:SwitchParameter
Default value:False
와일드카드 지원:False
DontShow:False
별칭:위스콘신

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

CommonParameters

이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.

입력

Object

새 항목의 값을 이 cmdlet으로 파이프할 수 있습니다.

출력

DictionaryEntry

cmdlet은 새 환경 변수를 만들 때 DictionaryEntry 개체를 반환합니다.

DirectoryInfo

이 cmdlet은 파일 시스템에 새 디렉터리를 만들 때 DirectoryInfo 개체를 반환합니다.

FileInfo

이 cmdlet은 파일 시스템에 새 파일을 만들 때 FileInfo 개체를 반환합니다.

AliasInfo

cmdlet은 새 별칭을 만들 때 AliasInfo 개체를 반환합니다.

FunctionInfo

cmdlet은 새 함수를 만들 때 FunctionInfo 개체를 반환합니다.

PSVariable

cmdlet은 새 변수를 만들 때 PSVariable 개체를 반환합니다.

참고

PowerShell에는 New-Item에 대한 다음과 같은 별칭들이 포함되어 있습니다.

  • 모든 플랫폼:
    • ni

New-Item 공급자가 노출하는 데이터를 사용하도록 설계되었습니다. 세션에서 사용할 수 있는 공급자를 나열하려면 Get-PSProvider입력합니다. 추가 정보는 about_Providers를 참조하십시오.