次の方法で共有


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 パラメーターの値のドット ('.') は、現在のディレクトリを示します。 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 ディレクトリを作成します。

新しいディレクトリ項目 "Scripts" の名前は、Nameの値に指定されるのではなく、Path パラメーターの値に含まれます。 構文で示されているように、どちらのコマンド 形式も有効です。

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

例 5: 複数のファイルを作成する

この例では、2 つの異なるディレクトリにファイルを作成します。 Path は複数の文字列を受け取るため、複数の項目を作成するために使用できます。

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 ディレクトリの下に 3 つのディレクトリを表示します。 ワイルドカードを使用して、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 は、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
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

nameSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Authentication

これは、WSMan プロバイダーが使用できる動的パラメーターです。 WSMan プロバイダーとこのパラメーターは、Windows でのみ使用できます。

サーバーで使用する認証メカニズムを指定します。

詳細については、「new-WSManInstance 」を参照してください。

パラメーターのプロパティ

型:AuthenticationMechanism
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-CertificateThumbprint

これは、WSMan プロバイダーが使用できる動的パラメーターです。 WSMan プロバイダーとこのパラメーターは、Windows でのみ使用できます。

この WSMan アクションを実行するアクセス許可を持つユーザー アカウントのデジタル公開キー証明書 (X509) を指定します。 証明書の拇印を入力します。

詳細については、「new-WSManInstance 」を参照してください。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Confirm

コマンドレットを実行する前に確認を求めるメッセージが表示されます。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False
Aliases:cf

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-ConnectionURI

これは、WSMan プロバイダーが使用できる動的パラメーターです。 WSMan プロバイダーとこのパラメーターは、Windows でのみ使用できます。

WSMan の接続エンドポイントを指定します。

詳細については、「new-WSManInstance 」を参照してください。

パラメーターのプロパティ

型:Uri
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

pathSet
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Credential

このパラメーターは、PowerShell でインストールされているプロバイダーではサポートされていません。 このコマンドレットを実行するときに別のユーザーを偽装したり、資格情報を昇格したりするには、Invoke-Commandを使用します。

パラメーターのプロパティ

型:PSCredential
規定値:Current user
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-Force

このコマンドレットは、既存の読み取り専用アイテムに書き込む項目を強制的に作成します。 実装はプロバイダーによって異なります。 Force パラメーターを使用しても、コマンドレットはセキュリティ制限をオーバーライドできません。

PowerShell 7.4 以降では、このパラメーターを使用して既存のジャンクションを上書きすることもできます。 以前は、これは "空ではないため削除できません" というエラーで失敗していました。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置: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
規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:タイプ

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-Name

新しい項目の名前を指定します。 Name または Path パラメーター値で新しい項目の名前を指定できます。また、新しい項目のパスを Name または Path 値で指定できます。 Name パラメーターを使用して渡された項目名は、Path パラメーターの値を基準にして作成されます。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

nameSet
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-Options

これは、Alias プロバイダーによって使用できる動的パラメーターです。 詳細については、「New-Alias」を参照してください。

エイリアスの Options プロパティの値を指定します。

有効な値は次のとおりです。

  • None: エイリアスに制約がありません (既定値)
  • ReadOnly: エイリアスは削除できますが、Force パラメーターを使用しないと変更できません
  • Constant: エイリアスを削除または変更することはできません
  • Private: エイリアスは現在のスコープでのみ使用できます
  • AllScope: エイリアスは、作成された新しいスコープにコピーされます
  • Unspecified: オプションが指定されていません

パラメーターのプロパティ

型:ScopedItemOptions
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-OptionSet

これは、WSMan プロバイダーが使用できる動的パラメーターです。 WSMan プロバイダーとこのパラメーターは、Windows でのみ使用できます。

一連のスイッチをサービスに渡して、要求の性質を変更または調整します。

詳細については、「new-WSManInstance 」を参照してください。

パラメーターのプロパティ

型:Hashtable
規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:オペレーティングシステム (OS)

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Path

新しい項目の場所のパスを指定します。 既定値は、パス 省略した場合の現在の場所です。 [名前] で新しい項目の名前指定するか、パスに含めることができます。 Name パラメーターを使用して渡された項目名は、Path パラメーターの値を基準にして作成されます。

このコマンドレットでは、Path パラメーターは、他のコマンドレットの LiteralPath パラメーターと同様に機能します。 ワイルドカード文字は解釈されません。 すべての文字が場所のプロバイダーに渡されます。 プロバイダーはすべての文字をサポートしているわけではありません。 たとえば、アスタリスク (*) 文字を含むファイル名を作成することはできません。

パラメーターのプロパティ

型:

String[]

規定値:Current location
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

pathSet
配置:0
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False
nameSet
配置:0
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-Port

これは、WSMan プロバイダーが使用できる動的パラメーターです。 WSMan プロバイダーとこのパラメーターは、Windows でのみ使用できます。

クライアントが WinRM サービスに接続するときに使用するポートを指定します。

詳細については、「new-WSManInstance 」を参照してください。

パラメーターのプロパティ

型:Int32
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-SessionOption

これは、WSMan プロバイダーが使用できる動的パラメーターです。 WSMan プロバイダーとこのパラメーターは、Windows でのみ使用できます。

WS-Management セッションの拡張オプションのセットを定義します。

詳細については、「new-WSManInstance 」を参照してください。

パラメーターのプロパティ

型:SessionOption
規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:SO

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-UseSSL

これは、WSMan プロバイダーが使用できる動的パラメーターです。 WSMan プロバイダーとこのパラメーターは、Windows でのみ使用できます。

リモート コンピューターへの接続を確立するために、Secure Sockets Layer (SSL) プロトコルを使用するように指定します。 既定では、SSL は使用されません。

詳細については、「new-WSManInstance 」を参照してください。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

nameSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Value

新しい項目の値を指定します。 値をパイプ処理して New-Itemすることもできます。

パラメーターのプロパティ

型:Object
規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:目標

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:True
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-WhatIf

コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False
Aliases:ウィスコンシン

パラメーター セット

(All)
配置: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」と入力します。 詳細については、about_Providersを参照してください。