New-Item
Tworzy nowy element.
Składnia
pathSet (Default) - All providers
New-Item
[-Path] <string[]>
[-ItemType <string>]
[-Value <Object>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
nameSet - All providers
New-Item
[[-Path] <string[]>]
-Name <string>
[-ItemType <string>]
[-Value <Object>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
pathSet (Default) - WSMan provider
New-Item
[-Path] <string[]>
-ConnectionURI <uri>
[-ItemType <string>]
[-Value <Object>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-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]
[-UseTransaction]
[-OptionSet <hashtable>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <string>]
[-SessionOption <SessionOption>]
[-ApplicationName <string>]
[-Port <int>]
[-UseSSL]
[<CommonParameters>]
pathSet (domyślnie)
New-Item
[-Path] <string[]>
[-ItemType <string>]
[-Value <Object>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-Options <ScopedItemOptions>]
[<CommonParameters>]
nameSet
New-Item
[[-Path] <string[]>]
-Name <string>
[-ItemType <string>]
[-Value <Object>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-Options <ScopedItemOptions>]
[<CommonParameters>]
Opis
Polecenie cmdlet New-Item tworzy nowy element i ustawia jego wartość. Typy elementów, które można utworzyć, zależą od lokalizacji elementu. Na przykład w systemie plików New-Item tworzy pliki i foldery. W rejestrze New-Item tworzy klucze rejestru i wpisy.
New-Item można również ustawić wartość tworzonych elementów. Na przykład podczas tworzenia nowego pliku New-Item może dodać początkową zawartość do pliku.
Przykłady
Przykład 1. Tworzenie pliku w bieżącym katalogu
To polecenie tworzy plik tekstowy o nazwie "testfile1.txt" w bieżącym katalogu. Kropka (''') w wartości parametru Path wskazuje bieżący katalog. Tekst cytowany, który jest zgodny z parametrem Value, jest dodawany do pliku jako zawartość.
New-Item -Path . -Name "testfile1.txt" -ItemType "File" -Value "This is a text string."
Przykład 2. Tworzenie katalogu
To polecenie tworzy katalog o nazwie "Logfiles" na dysku C:. Parametr ItemType określa, że nowy element jest katalogiem, a nie plikiem ani innym obiektem systemu plików.
New-Item -Path "C:\" -Name "logfiles" -ItemType "Directory"
Przykład 3. Tworzenie profilu
To polecenie tworzy profil programu PowerShell w ścieżce określonej przez zmienną $PROFILE.
Profile umożliwiają dostosowywanie programu PowerShell.
$PROFILE jest zmienną automatyczną (wbudowaną), która przechowuje ścieżkę i nazwę pliku profilu "CurrentUser/CurrentHost". Domyślnie profil nie istnieje, mimo że program PowerShell przechowuje dla niego ścieżkę i nazwę pliku.
W tym poleceniu zmienna $PROFILE reprezentuje ścieżkę pliku.
ItemType parametr określa, że polecenie tworzy plik. Parametr Force umożliwia utworzenie pliku w ścieżce profilu, nawet jeśli katalogi w ścieżce nie istnieją.
Po utworzeniu profilu możesz wprowadzić aliasy, funkcje i skrypty w profilu, aby dostosować powłokę.
Aby uzyskać więcej informacji, zobacz about_Automatic_Variables i about_Profiles.
New-Item -Path $PROFILE -ItemType "File" -Force
Uwaga / Notatka
Podczas tworzenia pliku przy użyciu tej metody wynikowy plik jest kodowany jako UTF-8 bez znaku BOM (byte-order-mark).
Przykład 4. Tworzenie katalogu w innym katalogu
W tym przykładzie zostanie utworzony nowy katalog Scripts w katalogu "C:\PS-Test".
Nazwa nowego elementu katalogu "Skrypty" jest uwzględniana w wartości parametru ścieżka
New-Item -ItemType "Directory" -Path "C:\ps-test\scripts"
Przykład 5. Tworzenie wielu plików
W tym przykładzie są tworzone pliki w dwóch różnych katalogach. Ponieważ ścieżka przyjmuje wiele ciągów, możesz użyć jej do utworzenia wielu elementów.
New-Item -ItemType "File" -Path "C:\ps-test\test.txt", "C:\ps-test\Logs\test.log"
Przykład 6. Używanie symboli wieloznacznych do tworzenia plików w wielu katalogach
Polecenie cmdlet New-Item obsługuje symbole wieloznaczne w parametrze Path. Następujące polecenie tworzy plik temp.txt we wszystkich katalogach określonych przez symbole wieloznaczne w parametrze ścieżka.
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
Polecenie cmdlet Get-ChildItem pokazuje trzy katalogi w katalogu C:\Temp. Za pomocą symboli wieloznacznych polecenie cmdlet New-Item tworzy plik temp.txt we wszystkich katalogach w bieżącym katalogu. Polecenie cmdlet New-Item zwraca utworzone elementy, które są przesyłane potokowo do Select-Object w celu zweryfikowania ścieżek nowo utworzonych plików.
Przykład 7. Tworzenie linku symbolicznego do pliku lub folderu
W tym przykładzie zostanie utworzony link symboliczny do pliku Notice.txt w bieżącym folderze.
$link = New-Item -ItemType SymbolicLink -Path .\link -Target .\Notice.txt
$link | Select-Object LinkType, Target
LinkType Target
-------- ------
SymbolicLink {.\Notice.txt}
W tym przykładzie Target jest aliasem parametru Value. Element docelowy łącza symbolicznego musi być w pełni kwalifikowaną ścieżką.
Przykład 8. Użyj parametru -Force, aby spróbować odtworzyć foldery
W tym przykładzie tworzony jest folder z plikiem wewnątrz. Następnie próbuje utworzyć ten sam folder przy użyciu -Force. Nie zastąpi on folderu, ale po prostu zwróci istniejący obiekt folderu z plikiem utworzonym bez zmian.
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
Przykład 9. Użyj parametru -Force, aby zastąpić istniejące pliki
W tym przykładzie zostanie utworzony plik z wartością, a następnie ponownie utworzy plik przy użyciu -Force. Spowoduje to zastąpienie istniejącego pliku, jak widać we właściwości 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
Uwaga / Notatka
W przypadku używania New-Item z przełącznikiem -Force w celu utworzenia kluczy rejestru polecenie będzie zachowywać się tak samo jak podczas zastępowania pliku. Jeśli klucz rejestru już istnieje, klucz i wszystkie właściwości i wartości zostaną zastąpione pustym kluczem rejestru.
Parametry
-ApplicationName
Jest to parametr dynamiczny udostępniany przez dostawcę WSMan. Dostawca WSMan i ten parametr są dostępne tylko w systemie Windows.
Określa nazwę aplikacji w połączeniu. Wartość domyślna parametru ApplicationName to WSMAN.
Aby uzyskać więcej informacji, zobacz New-WSManInstance.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
nameSet
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Authentication
Jest to parametr dynamiczny udostępniany przez dostawcę WSMan. Dostawca WSMan i ten parametr są dostępne tylko w systemie Windows.
Określa mechanizm uwierzytelniania, który ma być używany na serwerze.
Aby uzyskać więcej informacji, zobacz New-WSManInstance.
Właściwości parametru
| Typ: | AuthenticationMechanism |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-CertificateThumbprint
Jest to parametr dynamiczny udostępniany przez dostawcę WSMan. Dostawca WSMan i ten parametr są dostępne tylko w systemie Windows.
Określa cyfrowy certyfikat klucza publicznego (X509) konta użytkownika, które ma uprawnienia do wykonania tej akcji WSMan. Wprowadź odcisk palca certyfikatu.
Aby uzyskać więcej informacji, zobacz New-WSManInstance.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Confirm
Prosi o potwierdzenie przed uruchomieniem cmdletu.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | por |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-ConnectionURI
Jest to parametr dynamiczny udostępniany przez dostawcę WSMan. Dostawca WSMan i ten parametr są dostępne tylko w systemie Windows.
Określa punkt końcowy połączenia dla programu WSMan.
Aby uzyskać więcej informacji, zobacz New-WSManInstance.
Właściwości parametru
| Typ: | Uri |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
pathSet
| Position: | Named |
| Obowiązkowe: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Credential
Uwaga / Notatka
Ten parametr nie jest obsługiwany przez żadnych dostawców zainstalowanych w programie PowerShell. Aby personifikować innego użytkownika lub podnieść poziom poświadczeń podczas uruchamiania tego polecenia cmdlet, użyj Invoke-Command.
Właściwości parametru
| Typ: | PSCredential |
| Domyślna wartość: | Current user |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-Force
Wymusza to polecenie cmdlet, aby utworzyć element, który zapisuje w istniejącym elemencie tylko do odczytu. Implementacja różni się od dostawcy do dostawcy. Nawet, gdy używa się parametru Force, polecenie cmdlet nie jest w stanie zastąpić ograniczeń zabezpieczeń.
Nie można użyć opcji Wymuś , aby zastąpić istniejące połączenie. Próby zastąpienia istniejącego połączenia kończą się niepowodzeniem z powodu błędu "nie można go usunąć, ponieważ nie jest pusty". Przed utworzeniem nowego węzła należy usunąć istniejące połączenie.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-ItemType
Określa typ określony przez dostawcę nowego elementu. Dostępne wartości tego parametru zależą od bieżącego dostawcy, którego używasz.
Jeśli lokalizacja znajduje się na dysku FileSystem, dozwolone są następujące wartości:
FileDirectorySymbolicLinkJunctionHardLink
Podczas tworzenia pliku przy użyciu tej metody wynikowy plik jest kodowany jako UTF-8 bez znaku BOM (byte-order-mark).
Na dysku Certificate są to wartości, które można określić:
Certificate ProviderCertificateStoreStoreLocation
Aby uzyskać więcej informacji, zobacz about_Providers.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | Typ |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-Name
Określa nazwę nowego elementu. Możesz określić nazwę nowego elementu w wartości parametru nazwa
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
nameSet
| Position: | Named |
| Obowiązkowe: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-Options
Jest to parametr dynamiczny udostępniany przez dostawcę aliasu. Aby uzyskać więcej informacji, zobacz New-Alias.
Określa wartość właściwości Options aliasu.
Prawidłowe wartości to:
-
None: alias nie ma ograniczeń (wartość domyślna) -
ReadOnly: alias można usunąć, ale nie można go zmienić bez użycia parametru Force -
Constant: nie można usunąć ani zmienić aliasu -
Private: alias jest dostępny tylko w bieżącym zakresie -
AllScope: alias jest kopiowany do wszystkich nowych utworzonych zakresów -
Unspecified: nie określono opcji
Właściwości parametru
| Typ: | ScopedItemOptions |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-OptionSet
Jest to parametr dynamiczny udostępniany przez dostawcę WSMan. Dostawca WSMan i ten parametr są dostępne tylko w systemie Windows.
Przekazuje zestaw przełączników do usługi w celu zmodyfikowania lub uściślinia charakteru żądania.
Aby uzyskać więcej informacji, zobacz New-WSManInstance.
Właściwości parametru
| Typ: | Hashtable |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | System operacyjny |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Path
Określa ścieżkę lokalizacji nowego elementu. Wartość domyślna to bieżąca lokalizacja, gdy ścieżka zostanie pominięta. Możesz określić nazwę nowego elementu w Namelub dołączyć go do Path. Nazwy elementów przekazywanych przy użyciu parametru Nazwa są tworzone względem wartości parametru ścieżka.
W przypadku tego polecenia cmdlet parametr ścieżki działa jak parametr LiteralPath innych poleceń cmdlet.
Symbole wieloznaczne nie są interpretowane. Wszystkie znaki są przekazywane do dostawcy lokalizacji. Dostawca może nie obsługiwać wszystkich znaków. Na przykład nie można utworzyć nazwy pliku zawierającego znak gwiazdki (*).
Właściwości parametru
| Typ: | String[] |
| Domyślna wartość: | Current location |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
pathSet
| Position: | 0 |
| Obowiązkowe: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
nameSet
| Position: | 0 |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-Port
Jest to parametr dynamiczny udostępniany przez dostawcę WSMan. Dostawca WSMan i ten parametr są dostępne tylko w systemie Windows.
Określa port, który ma być używany, gdy klient nawiązuje połączenie z usługą WinRM.
Aby uzyskać więcej informacji, zobacz New-WSManInstance.
Właściwości parametru
| Typ: | Int32 |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-SessionOption
Jest to parametr dynamiczny udostępniany przez dostawcę WSMan. Dostawca WSMan i ten parametr są dostępne tylko w systemie Windows.
Definiuje zestaw opcji rozszerzonych dla sesji WS-Management.
Aby uzyskać więcej informacji, zobacz New-WSManInstance.
Właściwości parametru
| Typ: | SessionOption |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | TAK WIĘC |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-UseSSL
Jest to parametr dynamiczny udostępniany przez dostawcę WSMan. Dostawca WSMan i ten parametr są dostępne tylko w systemie Windows.
Określa, że protokół Secure Sockets Layer (SSL) powinien służyć do nawiązywania połączenia z komputerem zdalnym. Domyślnie protokół SSL nie jest używany.
Aby uzyskać więcej informacji, zobacz New-WSManInstance.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
nameSet
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-UseTransaction
Zawiera polecenie w aktywnej transakcji. Ten parametr jest prawidłowy tylko wtedy, gdy transakcja jest w toku. Aby uzyskać więcej informacji, zobacz about_Transactions.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | usetx |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Value
Określa wartość nowego elementu. Możesz również przekazać wartość do New-Item.
Właściwości parametru
| Typ: | Object |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | Cel |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | True |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-WhatIf
Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Cmdlet nie został uruchomiony.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | Wi |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Dane wejściowe
Object
Możesz przekazać wartość dla nowego elementu do tego polecenia cmdlet.
Dane wyjściowe
DictionaryEntry
Polecenie cmdlet zwraca obiekt DictionaryEntry podczas tworzenia nowej zmiennej środowiskowej.
DirectoryInfo
Polecenie cmdlet zwraca obiekt DirectoryInfo podczas tworzenia nowego katalogu w systemie plików.
FileInfo
Polecenie cmdlet zwraca obiekt FileInfo podczas tworzenia nowego pliku w systemie plików.
AliasInfo
Polecenie cmdlet zwraca obiekt AliasInfo podczas tworzenia nowego aliasu.
FunctionInfo
Polecenie cmdlet zwraca obiekt FunctionInfo podczas tworzenia nowej funkcji.
PSVariable
Polecenie cmdlet zwraca obiekt PSVariable podczas tworzenia nowej zmiennej.
Uwagi
Program Windows PowerShell zawiera następujące aliasy dla New-Item:
ni
New-Item jest przeznaczona do pracy z danymi udostępnianymi przez dowolnego dostawcę. Aby wyświetlić listę dostawców dostępnych w sesji, wpisz Get-PSProvider. Aby uzyskać więcej informacji, zobacz about_Providers.