PowerShell 은 Windows PC에 필요한 모든 제어 기능을 제공하며 배우기 쉽습니다. 따라서 명령 프롬프트 를 버리고 (Command Prompt)Windows PowerShell 명령을 사용 하여 반복적인 관리 작업을 자동화하십시오.
PowerShell 을 배우 면 bash 셸 내에서 대부분의 Linux 관리 작업 을 처리하는 방법도 알려줍니다 . PowerShell 은 대부분의 (PowerShell)Linux 배포판(Distros) 에서 볼 수 있는 것과 유사합니다 .
PowerShell이란 무엇입니까?
Windows PowerShell 은 시스템 관리자를 위해 Microsoft 에서 개발한 명령줄 인터페이스 및 스크립팅 언어입니다 . 그러나 다른 프로그래밍 언어보다 훨씬 간단하기 때문에 관리자나 프로그래머가 아니어도 사용할 수 있습니다. 일반 영어(English) 와 유사 하며 누구나 이해하고 컴퓨터를 관리하는 데 사용할 수 있습니다.
Windows PowerShell 에서 사용되는 명령을 " cmdlet" 이라고 합니다. 이 명령을 사용하면 컴퓨터에서 특정 작업 또는 일련의 작업을 활성화할 수 있습니다. 이러한 작업은 무선 네트워크에 로그인하는 것과 같이 간단할 수도 있고 특정 반복 작업을 자동화하는 것과 같이 더 복잡할 수도 있습니다.
PowerShell을 열려면 시작(Start ) 버튼을 누르고 검색 상자에 " powershell "을 입력한 다음 (powershell)Windows PowerShell 을 선택합니다 . 명령 입력을 시작할 준비가 된 명령줄 인터페이스가 열립니다.
이 기사에서는 가장 유용하고 쉬운 PowerShell 명령 10가지를 살펴보겠습니다.
1. 도움 받기
Get-Help cmdlet은 PowerShell에서 시작하기에 좋은 위치 입니다(PowerShell) . 수행할 수 있는 작업에 대한 개요를 제공하며 특정 cmdlet에 대한 추가 정보가 필요할 때도 유용합니다.
(Simply)PowerShell 창을 열고 Get-Help 를 입력하기만 하면 됩니다. 그러면 PowerShell(PowerShell) 이 무엇인지 알려주고 그 기능과 구조를 이해할 수 있는 포괄적인 개요가 열립니다 . 인터페이스를 통해 직접 웹에 액세스하여 고급 도움말 파일에 액세스할 수도 있습니다. 나중에 사용할 수 있도록 이 파일을 다운로드할 수 있습니다.
그러나 이것이 get-help 명령의 끝이 아닙니다. 유형:
Get-Help *
PowerShell 은 그 순간에 사용할 수 있는 모든 cmdlet을 나열합니다. 목록은 엄청나므로 표시된 cmdlet을 모두 배울 필요는 없습니다. 그러나 자유롭게 읽고 사용할 수 있는 모든 가능성을 탐색하십시오.
유형:
Get-Help <command name>
대괄호는 필요하지 않으며 관심 있는 명령의 이름을 입력하기만 하면 이 cmdlet이 이에 대한 기본 정보를 제공합니다. 명령에 대한 더 자세한 설명을 보려면 다음을 입력하십시오.
Get-Help <command name> -Full
특정 명령 유형을 사용하는 방법의 예가 필요한 경우:
Get-Help <command name> -Example
2. 명령 받기
특정 명령 또는 명령 집합에 대한 정보를 빠르게 검색하고 싶으십니까? Get-Command cmdlet이 자동으로 수행합니다 . Get-Command 에는 많은 옵션이 있지만 PowerShell 의 기본 사용자는 대부분이 필요하지 않습니다. 다음은 특히 사용 가능한 명령을 탐색할 때 도움이 되는 몇 가지 기본 cmdlet입니다.
동일한 유형의 특정 cmdlet 목록을 원하는 경우:
Get-Command -<CommandType>
예를 들어 이 복잡한 구는 컴퓨터에서 사용 가능한 모든 cmdlet 유형 명령 목록을 표시하고 이름에 있는 명사의 사전순으로 정렬하도록 명령합니다.
Get-Command -Type Cmdlet | Sort-Object -Property Noun| Format-Table -GroupBy Noun
이것은 PowerShell 이 복잡한 작업을 실행하도록 하는 보다 복잡한 명령의 훌륭한 예입니다. 구문을 이해하면 PowerShell 을 사용 하는 것이 컴퓨터에서 몇 가지 작업을 수행하는 가장 빠르고 쉬운 경우가 많습니다.
이름으로 특정 명령을 찾으려면 다음을 입력하십시오.
Get-Command -Name <name of command>
찾고 있는 명령의 정확한 이름은 모르지만 이름의 일부는 알고 있는 경우 다음을 입력할 수 있습니다.
Get-Command -Name <name of command> -UseFuzzyMatching
이 cmdlet은 컴퓨터가 <이름> 필드에 입력한 내용과 거의 일치하는 명령을 찾도록 합니다. 철자가 틀리기 쉽고 항상 자신을 수정하는 것을 원하지 않는 경우에도 이 cmdlet을 사용할 수 있습니다.
3. 콘텐츠 가져오기
파일의 내용을 보려면 Get-Content cmdlet을 사용합니다. 컴퓨터에서 찾을 수 있도록 해당 파일의 정확한 위치를 지정해야 합니다.
위의 예에서 이를 위해 작성된 테스트 텍스트 파일의 내용을 볼 수 있습니다. 이것은 간단한 명령이지만 그 기능을 알고 있다면 다른 명령과 결합하여 Windows PowerShell 을 통해 정말 강력한 작업을 수행할 수 있습니다 .
4. 프로세스 가져오기
Get-Process cmdlet은 컴퓨터에서 현재 실행 중인 프로세스에 대한 정보를 제공합니다 . 메모리 사용량, CPU 주기, 프로세스 ID 및 기타 속성 을 볼 수 있습니다.
이 cmdlet에 프로세스 이름을 추가하면 특정 프로세스에 대한 정보를 볼 수 있습니다. 예를 들어 Discord(Discord) 신청 절차 에 대한 정보를 원하면 Get-Process Discord 를 입력하기만 하면 됩니다.
단순히 구문의 "Get" 접두사를 대체하여 PowerShell 을 통해 프로세스를 시작하거나 중지할 수 있습니다 . 프로세스를 시작하려면 다음을 입력하십시오.
Start-Process <process name or ID> Â Â
프로세스를 중지하려면 다음을 입력합니다.
Stop-Process <process name or ID>
5. 서비스 받기
시스템 관리자는 Get-Service cmdlet이 매우 유용할 수 있습니다. 이 간단한 cmdlet은 현재 시스템에서 실행 중인 모든 서비스를 표시하고 이를 제어할 수 있도록 합니다. 즉, 컴퓨터를 실행하기 위해 현재 작동 중인 모든 프로그램을 볼 수 있습니다.
이제 서비스 이름을 사용하여 제어할 수 있습니다. Restart-Service <service name> 과 같은 명령을 사용 하여 고정된 항목을 고정 해제하고, Stop-Service <service name> 을 사용하여 완전히 중지하고, Start-Service 와 같은 명령을 사용 하여 다시 시작합니다.
6. 아이템 받기
특정 항목이 필요한 경우 운영 체제에 통합된 검색 창을 사용하는 것보다 PowerShell 을 통해 찾는 것이 더 빠를 수 있습니다 . 필요한 파일의 위치를 알면 특히 편리합니다. 다음과 같은 방법으로 명령을 사용하면 됩니다 .(Simply)
항목 C 가져오기:(Get-Item C:)
이렇게 하면 "C:" 하드 드라이브에 있는 파일 목록이 표시됩니다. 더 구체적으로 사용자 프로필 아래의 모든 디렉토리에서 검색하거나 "문서" 또는 "다운로드" 디렉토리로 더 깊이 들어갈 수 있습니다. 이렇게 하려면 다음을 입력합니다.
Get-Tem C:\users\<user name>\*
시스템 디렉터리와 같은 컨테이너에서 자식 항목을 검색해야 하는 경우 cmdlet Get-ChildItem 을 사용할 수 있습니다 . 이 명령은 해당 컨테이너 내부의 모든 파일과 디렉토리를 표시합니다. Get-Item cmdlet 과 마찬가지로 컨테이너의 경로를 지정해야 합니다.
항목을 삭제하려면 "Get" 접미사를 "Remove"로 바꾸면 됩니다. 이렇게 하면 파일 및 폴더에서 레지스트리 키 및 기능에 이르기까지 모든 것을 삭제할 수 있습니다. Remove-Item <location\ name> 입력 합니다. 이 cmdlet을 정교하게 만들고 숨겨진 "읽기 전용" 파일만 삭제하거나 특정 폴더 및 하위 폴더에서 항목을 삭제할 수 있습니다.
7. HTML로 변환
이 명령은 .NET 개체를 웹(Web) 브라우저 에 표시할 수 있는 HTML 파일 로 변환하는 데 도움이 됩니다. 이것은 다른 cmdlet과 잘 작동한다는 것을 의미하는 출력 cmdlet입니다. 다른 cmdlet의 끝에 추가하고 특정 파일 경로를 포함하기만 하면 됩니다 .(Simply)
예를 들어, 로컬 컴퓨터의 모든 현재 프로세스의 이름, 경로 및 회사를 표시 하는 HTML 파일을 생성하려면 다음을 입력하십시오.(HTML)
Get-Process | ConvertTo-Html -Property Name, Path, Company -Title “Process Information” | Out-File filename.htm
filename.htm(Replace) 을 원하는 파일 이름으로 바꾸십시오.
생성된 파일을 열려면 Invoke-Item cmdlet 과 <file name.htm> 을 사용 합니다. 내용은 아래 이미지와 같아야 합니다.
8. 집합 실행 정책
로컬 PowerShell 스크립트를 실행하려면 (PowerShell)PowerShell 자체 의 실행 정책을 변경해야 합니다. Windows 컴퓨터에서 실행 정책은 항상 제한되며 RemoteSigned 또는 Unrestricted 로 변경해야 합니다 . Linux 또는 Mac 과 같은 Windows 가 아닌 컴퓨터 에서는 일반적으로 Unrestricted 로 설정되며 변경할 수 없습니다.
PowerShell 실행 정책 에 대해 자세히 알아보려면 다음 을 입력하기만 하면 됩니다.
도움말 Set-ExecutionPolicy(help Set-ExecutionPolicy)
PowerShell 은 컴퓨터 의 실행 정책에 대한 도움말 파일을 표시하거나 없는 경우 알려줍니다. 그러나 온라인에서 팔로우하고 읽을 수 있는 링크도 제공합니다.
정책을 RemoteSigned(RemoteSigned) 로 설정하려면 다음을 입력하기만 하면 됩니다.
Set-Executionpolicy RemoteSigned
무제한 유형으로 설정하려면:
Set-Executionpolicy 무제한(Set-Executionpolicy Unrestricted)
실행 정책에 대한 현재 설정을 확인하려면 다음을 입력하십시오.
Get-Execution 정책(Get-Executionpolicy)
실행 정책은 PowerShell 보안 전략의 일부이기 때문에 변경 확인을 요청합니다. 계속 진행하려는 경우에만 Y 를 입력 하십시오.
9. 개체 선택
이 명령은 개체 및 개체 집합, 고유 개체 및 배열의 특정 위치에 있는 개체를 선택하는 데 사용됩니다. 선택하려는 개체를 지정하는 데 사용할 수 있는 다양한 매개변수가 있습니다. 그 중에는 속성, 숫자 값 및 특정 입력 대상체가 있습니다.
속성 속성으로 개체를 선택하려면 이름, ID 또는 CPU 와 같은 속성을 지정해야 합니다 . 속성을 그룹화할 수도 있지만 명령을 입력할 때 쉼표로 구분해야 합니다. 작업 유형에서 Select-Object cmdlet을 보려면 다음을 수행합니다.
Get-Process | Select-Object -Property ProcessName, Id, CPU
PowerShell 은 아래와 같이 모든 현재 프로세스와 해당 속성을 나열합니다.
이제 -EpandProperty 명령을 사용하여 특정 속성에 대한 자세한 정보를 얻을 수 있습니다. ProcessName 속성 유형의 (ProcessName)Modules 속성에 대한 세부 정보를 원하는 경우 :
Get-Process Chrome | Select-Object -Property ProcessName -ExpandProperty Modules | Format-list
명령의 "Format-list" 출력은 결과를 형식화하고 읽을 수 있도록 하기 위한 것입니다.
10. 수출-CSV
때때로 PowerShell 명령은 (PowerShell)Get-Command cmdlet 에서 본 것처럼 긴 목록을 생성합니다 . 긴 목록과 많은 정보는 읽기 어려우며 보다 체계적인 방식으로 원할 것입니다. 이렇게 하려면 모든 데이터를 CSV 파일로 내보냅니다. 내보내기 (CSV)-CSV 기능 을 사용하여 PowerShell 에서 직접 이 작업을 수행할 수 있습니다 .
예를 들어 cmdlet Get-Command 는 그 순간 에 PowerShell 에서 사용할 수 있는 모든 사용 가능한 cmdlet의 긴 목록을 제공 하는 것을 보았습니다. Get-Command 및 Export-CSV 를 결합하여 Excel 과 같은 앱에서 인식할 수 있는 이름, 소스 및 버전과 같은 쉼표로 구분된 값으로 자세한 목록을 생성 할 수 있습니다.
이렇게 하려면 PowerShell 명령 프롬프트에 다음 명령을 입력하지만 원하는 경로를 설정할 수 있으며 파일 이름을 다르게 지정할 수 있습니다.
Get-Command | Select Name, Source, Version | export-csv D:\AllCommands.csv
이제 Excel 에서 목록을 열 수 있으며 다음 이미지와 유사한 내용이 표시되어야 합니다.
10 Easy PowerShell Commands All Windows Users Should Know
PowerShell gives you all the control you need over your Windows PC, and it’s easy to learn. So ditch Command Prompt and use Windows PowerShell commands to automate those repetitive administrative tasks.
Learning PowerShell will also teach you how to handle most Linux administrative tasks inside the bash shell. PowerShell is similar to what you find in most Linux Distros.
What Is PowerShell?
Windows PowerShell is a command-line interface and scripting language developed by Microsoft for system administrators. But you don’t have to be an admin or programmer to use it because it is much simpler than other programming languages. It is similar to regular English, and everyone can understand it and use it to administer their computers.
The commands used in Windows PowerShell are known as “cmdlets.” They will let you activate a specific action, or series of actions, on your computer. These actions can be simple, like logging into a wireless network, or more complex, like automating specific repetitive tasks.
To open PowerShell, press the Start button, type “powershell” into the search box, and select Windows PowerShell. You’ll open to the command-line interface, where you’re ready to start typing commands.
In this article, we’ll go over ten of the most useful and easy PowerShell commands.
1. Get-Help
The Get-Help cmdlet is a great place to start in PowerShell. It provides an overview of what you can do and is also great when you need more information on a particular cmdlet.
Simply open the PowerShell window and type Get-Help. This will open up a comprehensive overview that will teach you what PowerShell is, and you will understand its functionality and structure. You also can access the web for more advanced help files directly through the interface. You can download these files for later use.
But that’s not the end of the get-help command. Type:
Get-Help *
PowerShell will list all the cmdlets you can use at that moment. The list will probably be huge, and you don’t need to learn all the displayed cmdlets. But feel free to read them and explore all the possibilities available to you.
Type:
Get-Help <command name>
You don’t need the brackets, simply type the name of the command you are interested in, and this cmdlet will give you the basic info about it. For an even more detailed explanation of a command, type:
Get-Help <command name> -Full
If you need an example of how to use a certain command type:
Get-Help <command name> -Example
2. Get-Command
Do you want to retrieve information about a specific command, or set of commands, quickly? The Get-Command cmdlet will do that for you. There are so many options within Get-Command, but you, as a basic user of PowerShell, don’t need most of them. Here are some basic cmdlets that will be helpful, especially when navigating the available commands.
If you want a list of specific cmdlets of the same type:
Get-Command -<CommandType>
For example, this complex phrase will order your computer to display a list of all cmdlet type commands available and to sort them by alphabetical order of the noun in their name:
Get-Command -Type Cmdlet | Sort-Object -Property Noun| Format-Table -GroupBy Noun
This is an excellent example of a more complex command that will make PowerShell execute a complicated task. Once you understand the syntax, you will see that using PowerShell is often the fastest and easiest to get some things done on your computer.
If you want to find a specific command by its name, simply type:
Get-Command -Name <name of command>
If you don’t know the exact name of the command you’re looking for, but you know part of the name, you can type:
Get-Command -Name <name of command> -UseFuzzyMatching
This cmdlet will task your computer to find commands that closely match what you typed in the <name> field. You also can use this cmdlet if you are prone to misspellings and don’t want to be bothered with correcting yourself all the time.
3. Get-Content
If you want to see the content of a file, use the Get-Content cmdlet. You will need to specify the exact location of the said file so your computer can find it.
In the example above, you can see the content of a test text file made for this purpose. This is a straightforward command, but if you know what it does, you can combine it with other commands and perform really powerful tasks through Windows PowerShell.
4. Get-Process
The Get-Process cmdlet will give you information on currently running processes on your computer. You can see the memory usage, CPU cycles, process ID, and other attributes.
If you add the name of the process to this cmdlet, you can see the information on a specific process. For example, if you want information on the Discord application process, simply type Get-Process Discord.
You can start or stop processes through PowerShell by simply replacing the “Get” prefix of the syntax. To start a process, type:
Start-Process <process name or ID>
To stop a process, type:
Stop-Process <process name or ID>
5. Get-Service
As a system administrator, you may find the Get-Service cmdlet very useful. This simple cmdlet will display all the services currently running on your system and allow you to control them. This means you can see all the programs currently working to make your computer run.
Now you can use the service name to control it. Use commands such as Restart-Service <service name> to unstick the frozen ones, Stop-Service <service name> to stop them completely, and Start-Service to start them again.
6. Get-Item
If you need a specific item, it might be faster to find it through PowerShell than by using a search bar integrated into your operating system. It is especially convenient if you know the location of the file you need. Simply use the command in this way:
Get-Item C:
This will bring you the list of files in the “C:” hard drive. You can be even more specific and search in all the directories under the user’s profile or go deeper into the “documents” or “downloads” directories. To do this, type:
Get-Tem C:\users\<user name>\*
If you need to retrieve a child item from a container, such as a system directory, you can use the cmdlet Get-ChildItem. This command will show you all the files and directories inside that container. As with the Get-Item cmdlet, you will need to specify the container’s path.
To delete items, you can replace the ”Get” suffix with “Remove.” This will allow you to delete everything, from files and folders to registry keys and functions. Type Remove-Item <location\ name>. You can elaborate this cmdlet and delete only hidden and “read-only” files or delete items from specific folders and subfolders.
7. ConvertTo-Html
This command will help you convert a .NET object into an HTML file that can be displayed in Web browsers. This is an output cmdlet which means that it works great with other cmdlets. Simply add it to the end of other cmdlets and include a specific file path.
For example, if you want to create an HTML file that displays the name, path, and the company of all the current processes of a local computer, type:
Get-Process | ConvertTo-Html -Property Name, Path, Company -Title “Process Information” | Out-File filename.htm
Replace filename.htm with any file name you want.
To open the created file, use the Invoke-Item cmdlet plus <file name.htm>. The contents should look something like the image below.
8. Set-Executionpolicy
If you want to run local PowerShell scripts, you will have to change the execution policy of the PowerShell itself. On Windows computers, the execution policy is always restricted, and you will need to change it to RemoteSigned or Unrestricted. On non-Windows computers such as Linux or Mac, it is typically set to Unrestricted, and it can’t be changed.
If you want to learn more about the PowerShell execution policy, simply type:
help Set-ExecutionPolicy
The PowerShell will display the help files about execution policy on your computer or notify you if there are none. But it will also provide you with a link that you can follow and read about it online.
To set the policy to RemoteSigned, simply type:
Set-Executionpolicy RemoteSigned
To set it to Unrestricted type:
Set-Executionpolicy Unrestricted
To check the current setting for the execution policy, type:
Get-Executionpolicy
Because execution policies are part of PowerShell’s security strategies, it will ask you for confirmation of the change. Type Y only if you are sure you want to proceed.
9. Select-Object
This command is used to select objects and sets of objects, unique objects, and objects in a specific position in an array. There are different parameters that you can use to specify the objects you want to select. Among them are properties, numeric values, and specific input objects.
To select objects by property attribute, you will need to specify the attributes such as name, ID, or CPU. You can even group the attributes, but you must separate them with commas when typing in the command. To see the Select-Object cmdlet in action type:
Get-Process | Select-Object -Property ProcessName, Id, CPU
The PowerShell will list all the current processes and their attributes, as shown below.
You can now use the -EpandProperty command to get detailed information about the specific attribute. If you want details about the Modules property of the ProcessName attribute’s type:
Get-Process Chrome | Select-Object -Property ProcessName -ExpandProperty Modules | Format-list
The “Format-list” output of the command is there to make the results formatted and readable.
10. Export-CSV
Sometimes the PowerShell commands result in long lists, as we saw with the Get-Command cmdlet. Long lists and lots of information are difficult to read, and you will want it in a more organized manner. To do this, export all the data into a CSV file. You can do this directly in PowerShell by using the Export-CSV function.
For example, we saw that the cmdlet Get-Command gives us a long list of all available cmdlets we can use in PowerShell at that moment. You can combine the Get-Command and Export-CSV to create a detailed list with comma-separated values such as name, source, and version that apps like Excel can recognize.
To do this, type the following command into the PowerShell command prompt but note that you can set any path you want, and you can name your file differently:
Get-Command | Select Name, Source, Version | export-csv D:\AllCommands.csv
You can now open the list in Excel, and you should see something similar to the following image.