2010. 9. 15. 19:19


안녕하세요 @우주인입니다.
파워쉘을 사용할때 출력결과가 너무 많아 보거나, 따로 복사하기 까다로울때가 있습니다.
이때 유용한 cmdlet이 바로 clip 입니다.  간단히 명령어 뒤에 | 연결하여 사용하시면 Windows Clipboard로 자동복사되니 워드패드나 메모장에 출력하여 사용이 가능합니다.

PS C:\Users\jaguly> Get-Process | clip


원본: http://vstarmanv.tistory.com/entry/Clip을-이용한-복사

'Powershell > @우주인' 카테고리의 다른 글

PowerShell Debug(Set-PSDebug)  (0) 2010.10.05
[MSSQL]WMI for SQL Management(2)-ClientNetworkProtocol  (0) 2010.10.05
Add-PSSnapin  (0) 2010.09.15
PowerShell Default Snap-Ins  (0) 2010.09.15
.NET Assembly load  (0) 2010.09.15
Posted by 알 수 없는 사용자
:
2010. 9. 15. 19:18


안녕하세요 @우주인입니다.
이번에는 Add-PsSnapIn를 이용하여 스냅인을 추가하는 법을 살펴보고자 합니다.
Add-PsSnapIn를 이용하면 내장되어 있는 명령어외에 해당 스냅인에서 지원하는 cmdlet를 모두 이용할 수 있습니다.

Sql이나 Exchange서버, AD등을 컨트롤하는데 많이 쓰이며
저같은 경우 쉐어포인트를 주로 컨트롤하는 이용합니다.

이용법은 help Add-PsSnapIn 를 통해 보시면 자세히 나와있으며 주로 Add-PsSnapIn NAME 으로 해당 스냅인을 추가합니다.

추가할 수 있는 스냅인의 종류를 볼려면 아래와 같이 Get-PSSnapin를 이용하시면 됩니다.


역시 제 PC에는 쉐어포인트 관련 스냅인이 지원되는군요

그럼 간단히 쉐어포인트에 사이트모음을 가져와 볼까요


당연히 위에 Add-PSSnapin 을 이용해 쉐어포인트 파워쉘 스냅인을 가져오지 않았다면 Get-SPSite는 실행시 오류가 발생합니다.

이와 같이 원하는 스냅인을 추가하여 서비스를 컨트롤 할 수 있습니다.


자신의 PC에 있는 모든 스냅인을 등록하고자 할때는 아래와 같이 한번에 처리가 가능합니다.




참고로 AD의 경우는
C:\PS>add-PSSnapIn Microsoft.Exchange, Microsoft.Windows.AD
설명
-----------
이 명령은 Microsoft Exchange 및 Active Directory 스냅인을 현재 세션에 추가합니다.



원본: http://vstarmanv.tistory.com/entry/Add-PSSnapin

'Powershell > @우주인' 카테고리의 다른 글

[MSSQL]WMI for SQL Management(2)-ClientNetworkProtocol  (0) 2010.10.05
Clip을 이용한 복사  (0) 2010.09.15
PowerShell Default Snap-Ins  (0) 2010.09.15
.NET Assembly load  (0) 2010.09.15
[MSSQL]WMI for SQL Management(1)  (0) 2010.09.15
Posted by 알 수 없는 사용자
:
2010. 9. 15. 19:18

파워쉘 Defalut 스냅인

기본적으로 파워쉘이 설치된 환경이라면 7개의 core snap-in이 로드되며, 이 때문에 해당 cmdlets를 사용할 수 있습니다.  당연히 core snap-in 들은 각자의 namespace를 가지고 있습니다.

 

1. Core (MicroSoft.PowerShell.core)
 
-       파워쉘 엔진, alias, 환경, 변수 , 함수에 관련되 cmdlet 

Get-Command -commandtype cmdlet | Where-Object {$_.PSSnapin -match "core"}

 

2. Host (MicroSoft.PowerShell.Host)

 - hosting에 관련된 스냅인

Get-Command -commandtype cmdlet | Where-Object {$_.PSSnapin -match "host"}

 

3. PowerShell.Management (MicroSoft.PowerShell.Management)

 - 프로세스나 서비스 관리 등 기타 윈도우 management 관련 cmdlet

Get-Command -commandtype cmdlet | Where-Object {$_.PSSnapin -match "PowerShell.Management"}

 

4. Security (MicroSoft.PowerShell.Security)

 - 파워쉘 보안관련 스냅인

Get-Command -commandtype cmdlet | Where-Object {$_.PSSnapin -match "Security"}


5. Utility (MicroSoft.PowerShell.Host)

 - Write-hostFormat-list 와 같은data manipulate 관련 cmdlets snap-in

Get-Command -commandtype cmdlet | Where-Object {$_.PSSnapin -match "Utility"} 


6.
Diagnostics (MicroSoft.PowerShell.Diagnostics)

 - performance counters 나 이벤트 로그 관련 cmdlets snap-in

 Get-Command -commandtype cmdlet | Where-Object {$_.PSSnapin -match "Diagnostics"}


7.
WsMan.Management (MicroSoft.WsMan.Management)

 - WsMan 관련 cmdlets snap-in

Get-Command -commandtype cmdlet | Where-Object {$_.PSSnapin -match "WsMan.Management"}

 

 

 원본: http://vstarmanv.tistory.com/entry/PowerShell-Default-Snap-Ins



'Powershell > @우주인' 카테고리의 다른 글

Clip을 이용한 복사  (0) 2010.09.15
Add-PSSnapin  (0) 2010.09.15
.NET Assembly load  (0) 2010.09.15
[MSSQL]WMI for SQL Management(1)  (0) 2010.09.15
파워쉘을 이용한 DOM 사용  (0) 2010.09.09
Posted by 알 수 없는 사용자
:
2010. 9. 15. 19:17

 

현재 도메인에서 파워쉘이 기본적으로 로드하는 .NET Assembly 리스트를 아래의 명령어로 알 수 있습니다.

[System.AppDomain]::CurrentDomain.GetAssemblies() | ForEach-Object { split-path $_.Location -leaf } | Sort-Object



등록된 어셈블리 외에 추가로 어셈블리를 로드 할 때는

[reflection.assembly]::LoadWithPartialName(“”) 

 = application 디렉토리나 global assembly cache 로부터 assembly를 로드합니다.

 원본: http://vstarmanv.tistory.com/entry/NET-Assembly-load

'Powershell > @우주인' 카테고리의 다른 글

Add-PSSnapin  (0) 2010.09.15
PowerShell Default Snap-Ins  (0) 2010.09.15
[MSSQL]WMI for SQL Management(1)  (0) 2010.09.15
파워쉘을 이용한 DOM 사용  (0) 2010.09.09
파워쉘 부팅매크로(Invoke-Item)  (0) 2010.09.09
Posted by 알 수 없는 사용자
:
2010. 9. 15. 19:17

이번엔 WMI(Windows Management Instrument) 를 이용해 SQL서버를 관리하는 방법에 대해 말씀드릴려고 합니다.

SQL를 관리를 위한 WMI Object 를 아래처럼 가져올 수 있습니다.

이 오브젝트는 클래스들의 인스턴스 집합이기 때문에 SQL를 위한 네임스페이스를 사용합니다

Get-WmiObject -namespace root\Microsoft\SqlServer\ComputerManagement10 –list | Where-Object {-not ($_.Name -like ‘__*’)}

[2005] 의 경우 -namespace root\Microsoft\SqlServer\ComputerManagement



많은 클래스들이 있지만 우선 SQL Service 클래스를 살펴보면

Get-WmiObject -namespace root\Microsoft\SqlServer\ComputerManagement10 -class SqlService | Select-Object ServiceName, DisplayName, SQLServiceType, State, ProcessId | Format-Table -wrap


설치된 SQL 기본 인스턴스들을 확인할 수 있습니다.

여기서 Service States 가 나타내는 숫자는 아래와 같은 의미를 가집니다.

1 Stopped. The service is stopped.

2 Start Pending. The service is waiting to start.

3 Stop Pending. The service is waiting to stop.

4 Running. The service is running.

5 Continue Pending. The service is waiting to continue.

6 Pause Pending. The service is waiting to pause.

7 Paused. The service is paused.



 

그럼 여기서 사용할 수 있는 메소드들을 확인해 볼까요

Get-WmiObject -namespace root\Microsoft\SqlServer\ComputerManagement10 –class SqlService | Get-Member -MemberType method



여기선 주로 서비스 계정을 설정 하거나 서비스를 시작 중지 시키는 메소드들 뿐이네요.


위의 메소드를 활용해서 MSSQL Server Instance 계정을 local system에서 도메인 계정으로 변경해 볼까요


$strUser = "DOMAIN\account"

$strPass= "비밀번호"

$wSqlservice = Get-WmiObject –namespace root\Microsoft\SqlServer\ComputerManagement10 -class SqlService –filter "ServiceName='MSSQLSERVER'"

$wSqlservice.SetServiceAccount($strUser, $strPass)

$wSqlservice.StopService()

$wSqlservice.StartService()



그럼 이번엔 SQL Agent Service를 자동으로 실행되게 변경해 볼까요

$sqlservice = Get-WmiObject –namespace root\Microsoft\SqlServer\ComputerManagement10 -class SqlService –filter "ServiceName='SQLSERVERAGENT'"

$sqlservice.SetStartMode(2)

#2 Service is started automatically

#3 Service is started manually

#4 Service is disabled




변경이 잘 되었네요 ^^

 


참고로 –computerName 이란 프로퍼티를 이용하면 원격지의 WMI Object를 가져올 수 있습니다.

Get-WmiObject .computerName 컴퓨터이름 -namespace

root\Microsoft\SqlServer\ComputerManagement10 -class SqlService -filter

"ServiceName=’MSSQL`$Instance’"




다음편엔 ServerNetworkProtocolProperty 클래스를 확인해 볼 예정입니다.

참고: SQL Server Administration with Windows PowerShell

원본: http://vstarmanv.tistory.com/entry/MSSQLWMI-for-SQL-Management1

'Powershell > @우주인' 카테고리의 다른 글

PowerShell Default Snap-Ins  (0) 2010.09.15
.NET Assembly load  (0) 2010.09.15
파워쉘을 이용한 DOM 사용  (0) 2010.09.09
파워쉘 부팅매크로(Invoke-Item)  (0) 2010.09.09
파워쉘 버전  (0) 2010.09.09
Posted by 알 수 없는 사용자
:
2010. 9. 15. 18:10
안녕하세요. 엉스데브 입니다.

이번에는 PowerShell 로 윈도우 내장 방화벽을 다루는 방법에 대해 알아보겠습니다.

0. PowerShell 에서 내장 방화벽을 다루기 위한 방법.
PowerShell 에 내장 된 관련 명령어는 없지만, "HNetCfg.FwMgr" Com 개체를 이용해서 다룰 수 있습니다.
아래 명령어를 통해 Com 객체를 만들 수 있습니다.

$FireWallMgr = New-Object -ComObject HNetCfg.FwMgr

1. 현재 방화벽이 켜져 있는지 꺼져 있는지 확인 및 켜기/끄기.
아래 명령어로 현재 방화벽이 켜저 있는지 꺼져 있는지를 확인 할 수 있습니다.
$FireWallMgr.LocalPolicy.CurrentProfile.FirewallEnabled
리턴 값이 True 이면 켜져있는 상티이고, False 이면 꺼져있는 상태입니다.

방화벽이 켜거나 끄려면 아래와 같이 하면 됩니다.

$FireWallMgr.LocalPolicy.CurrentProfile.FirewallEnabled = $True  # 방화벽 켜기
$FireWallMgr.LocalPolicy.CurrentProfile.FirewallEnabled = $False  # 방화벽 끄기

2. 현재 방화벽 설정 조회하기
현재 열려있는 포트(룰)을 조회 하려면 다음과 같이 입력하면 됩니다.

$FireWallMgr.LocalPolicy.CurrentProfile.GloballyOpenPorts

3. 특정 룰이 있는지 확인 및 선택하기.
만약, 21번 포트가 방화벽에서 열려있는지(여는 룰이 존재하는지) 확인 해 보려면 아래와 같이 하면 됩니다.

$FireWallMgr.LocalPolicy.CurrentProfile.GloballyOpenPorts | Where-Object {$_.Port -eq "21"}

만약, 이름에 SNMP 라는 키워드가 포함되는 이름을 가진 룰을 찾아보려면, 아래와 같이 하면 됩니다.

$FireWallMgr.LocalPolicy.CurrentProfile.GloballyOpenPorts | Where-Object {$_.Name -Like "*SNMP*"}

4. 룰 추가 하기.

$FireWallRule = New-Object -ComObject HNetCfg.FwOpenPort;
$FireWallRule.Name = "룰 이름"
$FireWallRule.Port = "열 포트(0-65535))"
$FireWallRule.Enabled = "활성화 여부($True or $False)"
$FireWallRule.Protocol = "프로토콜 지정. TCP 일 경우 6, UDP 일 경우 17)"

$FireWallMgr.LocalPolicy.CurrentProfile.GloballyOpenPorts.Add($FireWallRule)

5. 룰 삭제하기.
만약, 이름이 Test 인 룰을 삭제하고자 한다면, 아래와 같이 하면 됩니다.

$toDeleteFireWallRule = $FireWallMgr.LocalPolicy.CurrentProfile.GloballyOpenPorts | Where-Object {$_.Name -Like "Test"} # 룰을 선택하고,

$toDeleteFireWallRule | %{$FireWallMgr.LocalPolicy.CurrentProfile.GloballyOpenPorts.Remove($_.Port, $_.Protocol)} #파이프로 넘겨서 삭제 메소드 호출.


6. 룰 활성화/비활성화 하기
만약, 이름에 SNMP 라는 키워드가 포함되는 이름을 가진 룰을 비활성화 하려면, 아래와 같이 하면 됩니다.

($FireWallMgr.LocalPolicy.CurrentProfile.GloballyOpenPorts | Where-Object {$_.Name -Like "*SNMP*"}).Enabled = $False

활성화 하려면, 아래와 같이 실행 하면 됩니다.

($FireWallMgr.LocalPolicy.CurrentProfile.GloballyOpenPorts | Where-Object {$_.Name -Like "*SNMP*"}).Enabled = $True


오늘은 여기까지 입니다.

감사합니다.
Posted by 알 수 없는 사용자
:
2010. 9. 15. 17:54
안녕하세요? 윈디안입니다.

가을이 오고 있네요 모두 감기 조심하세요.
전 벌써 감기가 와서 골골하네요 ㅠㅠ

오늘 소개할 것은 iPowerShell입니다.
아이팟,아이폰 이후 i가 붙는 제품이 많아지네요.

이름이 i(?)Powershell 입니다.이 녀석도 느낌이 오시지요?

이름 처럼 아이폰 APP으로 Powershell Cmdlets들과 설명을 볼 수 있습니다.
아이폰,아이팟터치,아이패드에서 사용할 수 있습니다.
위 기기들은 Apple app Store를 통해서 다운로드를 받을 수 있습니다.



Cmdlets,Aliases,Providers들을 지원하며 가로보기 모드,확대가 지원됩니다.
(기본 cmdlet및 Exchange, 써드파티 모듈에 대한 정보도 제공합니다.)

item으로 검색해 보겠습니다.
잘나오네요 ^^;

Search 기능을 통해 원하는 명령을 간편하게 검색할 수 있습니다.
급할때 유용할 것 같습니다.

세상이 너무 좋아졌어요.
파워쉘도 스마트폰으로 스마트하게~ ㅎㅎ

이상 윈디안이였습니다.
감사합니다. :)

출처: http://blog.sapien.com/index.php/2010/03/01/ipowershell-v-2-now-available-in-apple-app-store/
Posted by 알 수 없는 사용자
:

BLOG main image
Windows Server를 공부 하는 사람들의 팀블로그 by 마성민

카테고리

분류 전체보기 (76)
Windows (2)
Powershell (56)
AD (0)
Exchange (6)
System Center (9)
IIS (0)
SQL (3)
Sharepoint (0)

태그목록

Tistory Cumulus Flash tag cloud by BLUEnLIVE requires Flash Player 9 or better.

Total :
Today : Yesterday :