2010. 12. 28. 06:30

특정 cmdlet 상당한 메모리를 필요로 합니다.
그러나 시스템상에서 파워쉘에 할당한 메모리가 넉넉한 편은 아니라서 이부분을
위해 메모리할당을 높일 필요가 있습니다.

 

현재 시스템에서 파워쉘에 할당한 메모리를 확인합니다.

get-item WSMan:\localhost\Shell\MaxMemoryPerShellMB

 

그림1. 현재할당량

 

 

 


그럼 1G를 할당해보겠습니다.

Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 100

 

그림2. 적용된 할당량


 

위의 설정은 원격 스크립트 작업시 매우 필요한 사항입니다.
일부 cmdlet에서 out of memory 예외가 나온다면 꼭 적용해보시기 바랍니다.


원본: http://vstarmanv.tistory.com/entry/파워쉘에게-할당된-메모리-변경

Posted by 알 수 없는 사용자
:
2010. 11. 9. 17:58

안녕하세요. 엉스데브 입니다.

이번에는 PowerShell 을 이용해서 대량의 파일을 대상으로 내부 내용을 변경 하는 방법을 찾아 보았습니다.

PowerShell 에는 -replace 연산자가 존재하는데, 마치 리눅스의 sed 명령어 처럼 쓸 수 있습니다.

"wow nice olleh" | %{$_ -Replace ("nice","OLLEH")}




이 연산자를 사용해서 대량의 파일을 대상으로 내용을 변경 하는 것도 가능 한데요, 아래의 구조로 된 폴더를 예로 들겠습니다.


폴더의 내부에 존재하는 각 파일의 내용에는 nice 라는 문자열이 존재합니다.



만약, "MyDocument" 디렉터리및 하위 디렉터리의 모든 *.txt 파일을 대상으로 파일 내용 중 "nice" 를 "OLLEH" 라고 바꾸고 싶다면, 아래 명령어를 사용하면 됩니다.

dir -Path MyDocument -Include *.txt -Recurse | %{$tmp = Get-Content $_; $tmp=$tmp -Replace ("nice","OLLEH"); Set-Content $_ $tmp}


파일의 내용 중 nice 가 모두 OLLEH 로 변경 된 것을 확인 할 수 있습니다.

대량 변경 작업시에 유용하게 사용 할 수 있을 것 같네요. ^^



<참고 URL>
http://www.myitforum.com/articles/40/view.asp?id=11843
http://blogs.msdn.com/b/zainnab/archive/2007/07/09/grep-and-sed-with-powershell.aspx

<참고 도움말>
about_Comparison_Operators

감사합니다.
Posted by 알 수 없는 사용자
:
2010. 10. 26. 17:28

파워쉘에서 NULL 비교는 파라미터 타입을 지정해 주지 않았을경우에는 정상적으로 동작한다.
그러나 파라미터값을 [string]으로 지정해 줬을 경우에는 비교에 문제가 있을 수 있다

function checkNull([string]$a, $b)

{

    if ($a -eq $null) { Write-Host "a is null" } else { write-Host "a is not null" }

    if ($a -eq [String]::Empty) { Write-Host "a is null" } else { write-Host "a is not null" }

    if (!$a) { Write-Host "a is null" } else { write-Host "a is not null" }

    if ($b -eq $null) { Write-Host "b is null" } else { Write-Host "b is not null" }

}



위의 함수의 결과값은 아래와 같다.

Space>checkNull $null $null
a is not null
a is null
a is null
b is null

결론적으로 string으로 지정된 파라미터를 NULL과 비교할때는 ($a -eq $null) 과 같은 표현은 쓰지 않는 것이 좋다.


원본: http://vstarmanv.tistory.com/entry/PowerShell-에서-NULL-처리
Posted by 알 수 없는 사용자
:
2010. 10. 26. 17:26

오늘은 SqlServerAlias 에 대해 말씀드리고자 합니다. SqlServerAlias는 클라이언트들의 connection 를 빠르고, 편리하게 해줍니다
자세하게 나온 사이트가 있네요 http://www.mssqltips.com/tip.asp?tip=1620 참고

 

그럼 WMI를 이용해서 제 서버에 등록된 SQL Alias정보를 볼까요

Get-WmiObject -namespace root\Microsoft\SqlServer\ComputerManagement10 –class SqlServerAlias

 

등록된 정보가 없으면 아무내용도 나오지 않겠지만 Sql Server Configuration Manager 를 통해 Alias를 등록한 경우에는 등록된 내용이 나옵니다.이 모습을 Sql 구성도구에서 확인하면 아래와 같습니다.





등록된 Alias oldship 를 삭제해 보도록 하겠습니다.

$strAlias="oldship"

$oldInfo=Get-WmiObject –namespace root\Microsoft\SqlServer\ComputerManagement10

-class SqlServerAlias -filter "AliasName=$oldInfo"

$oldInfo.Delete()

 


참 쉽죠~~


아쉽게도 Get-WmiObject 는 존재하는 클라이언트 Alias를 삭제하는 역할만 가능합니다.
별칭을 신규로 생성하기 위해선 별도의 .NET 클래스 Microsoft.SqlServer.Management.Smo.Wmi.ServerAlias 를 로드해서 사용해야하고 이 클래스가 포함된 어셈블리는 2008의 경우 Microsoft.SqlServer.SqlWmiManagement.dll 입니다.(2005의 경우는 Microsoft.SqlServer.Smo)


그럼 우선 클래스를 사용하기 위해 어셈블리를 로드해볼까요

[reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.SqlWmiManagement") | Out-Null

 


어셈블리를 로드후 SQL를 위한 WMI를 포함하고 있는 SMO 오브젝트를 생성해야 합니다.
이 오브젝트는 앞으로 우리가 생성할 SQL Alias의 부모가 됩니다.

$strComputer='.'  #localhost

$objComputer=New-Object Microsoft.SqlServer.Management.Smo.Wmi.ManagedComputer $strComputer #초기화

$newalias=New-Object ("Microsoft.SqlServer.Management.Smo.Wmi.ServerAlias")    

$newalias.Parent=$objComputer

$newalias.Name='newAlias' # name of the new alias

$newalias.ServerName='SPACESHIPS'  #연결할 원본 인스턴스

$newalias.ConnectionString=9009    #port

$newalias.ProtocolName='tcp'        #프로토콜

$newalias.Create()

 

아래와 같이 별칭이 생성되었습니다.




다음엔 ServerNetworkProtocol에 대해 알아보겠습니다.


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

Posted by 알 수 없는 사용자
:
2010. 10. 26. 14:12

안녕하세요. 엉스데브 입니다.

오늘은 자작 함수 및 스크립트에 대한 도움말을 작성하는 방법에 대해 알아보겠습니다.

PowerShell 은 Get-Help 라는 도움말 출력 전용 cmdlet 을 제공 합니다.
Get-Help cmdlet 에 자기가 실행하고자 하는 명령어를 지정하면 해당 명령어에 맞는 도움말을 보여주는데요.

PowerShell 에 기본 내장 된 명령어 뿐만 아니라, 직접 만든 함수/스크립트도 Get-Help 를 통해 도움말을 볼 수 있습니다.
다만, 이게 가능하려면 함수/스크립트 작성 시, 주석에 지정된 키워드 및 특정 형식을 지켜서 도움말에 표시 될 내용을 미리 적어 두어야 합니다.

다음은 간단한 도움말을 작성한 함수의 예 입니다.

Function Test-Role
{
<#
.Synopsis
현재 세션의 역할이 지정한 역할에 포함되어 있는지 확인 합니다.

.Description
현재 세션의 역할이 지정한 역할에 포함되어 있는지 확인 합니다. Role 파라미터에 Administrator 를 주면 현재 세션이 관리자 권한이 있는지 확인하는 용도로 사용 할 수 있습니다.

.Parameter Role
System.String 윈도우 내장 역할을 의미하는 문자열 입니다. 다음 9가지 값 중 선택 가능 합니다.
Administrators, User, Guest, PowerUser, AccountOperator, SystemOperator, PrintOperator, BackupOperator, Replicator

.Example
Test-Role Administrator
False

설명
-----------
현재 세션이 관리자 권한이 아닌 것을 알 수 있습니다.

.Example
Test-Role User
True

설명
-----------
현재 세션이 유저 권한을 가지고 있음을 알 수 있습니다.

.Link
http://svrstudy.tistory.com/26
#>

  Param( [Security.Principal.WindowsBuiltinRole]$Role )

  $CurrentUser = [Security.Principal.WindowsPrincipal]([Security.Principal.WindowsIdentity]::GetCurrent())

  $CurrentUser.IsInRole($Role)
}

도움말 키워드는 . 으로 시작하게 되며, 키워드에 대한 설명은 바로 다음줄 부터 입니다.
설명의 범위는 다른 키워드를 만나거나, 주석이 끝날 때 까지 입니다.

이 예제 함수에 대해 Get-Help 명령어를 실행 하면, 아래와 같이 표시 됩니다.

@Get-Help Test-Role


@Get-Help Test-Role -detailed


다음은 자주 사용되는 도움말용 키워드 목록 및 간단한 설명입니다.

1. Synopsis - 개요
: 함수나 스크립트에 대한 간단한 설명입니다.

2. Description - 설명
: 함수나 스크립트에 대한 자세한 설명입니다

3. Parameter - 매개 변수
: 매개 변수에 대한 설명입니다. 키워드를 적고 바로 뒤에 파라미터 명을 적으시면 됩니다.

4. Example - 예
: 함수나 스크립트를 사용하는 샘플 명령이며, 그 뒤에 샘플 출력과 설명이 올 수 있습니다. 여러개의 예제가 있을 경우, 반복해서 사용하면 됩니다.

5. Link - 관련 링크
: 관련 항목의 이름, 혹은 웹문서의 주소를 지정 할 수 있습니다. 웹 문서를 지정 하는 경우, 반드시 http:// 또는 https:// 로 시작 해야 합니다.


@맺음말:
아무리 잘 만든 함수나 스크립트라도 적절한 설명 혹은 도움말이 없으면, 다른 사람들에게는 도움이 되지 않습니다.
함수나 스크립트에 도움말을 잘 작성 해 두면, 다른 사람이 좀 더 손쉽게 사용 할 수 있게 되어 환영 받고, 더 많이 사용 될 것입니다.

자신이 만든 PowerShell 함수 혹은 스크립트에 도움말을 작성해서, 생명력을 불어넣어 주세요. ^^

감사합니다.

<참고 문서>
about_Comment_Based_Help

Posted by 알 수 없는 사용자
:
2010. 10. 5. 18:10

안녕하세요 윈디안입니다.

오늘은 Active Directory를 파워쉘에서 관리할 수 있는 모듈을 소개합니다.

모듈의 명칭은 ActiveDirectory 입니다. 이름이 쉽네요

이 모듈을 사용하기 위해서는 아래와 같은 조건이 필요합니다.

 Windows Server 2008 R2 server에 AD DS 또는 AD LDS 서버 롤 설치
 Windows Server 2008 R2 server에 Dcpromo.exe를 통해 도메인 컨트롤러로 사용하는 경우
 Windows Server 2008 R2 Server에 Remote Server Administration Tools (RSAT)을 설치한 경우
 Windows 7에 RSAT(원격 서버 관리 도구)를 설치한 경우

결론은 Windows7과 Windows 2008 R2 만 사용할 수 있습니다.
(Windows 7 원격 서버 관리 도구는 Windows 7의 Enterprise, Professional 또는 Ultimate Edition을 실행 중인 컴퓨터에만 설치할 수 있습니다. 또한 Windows Server 2008  R2의 경우 Windows Server 2008 R2 for Itanium-Based Systems ,
Windows Web Server 2008 R2 에서는 사용 할 수 없습니다.)

* Active Directory 모듈은 아래 기능들을 기본으로 설치합니다.

Windows PowerShell
Microsoft .NET Framework 3.5.1


* 사용 하기

시작 -> 관리도구 -> Active Directory PowerShell을 통해서 파워쉘을 실행하거나
수동으로 모듈을 구동하여 사용할 수 있습니다.

Import-Module ActiveDirectory

ActiveDirectory 모듈을 통해서는 다음과 같은 작업을 할 수 있습니다.
많은 기능이 있어 링크로만 소개합니다.


* 이 모듈을 통해서 ActiveDirectory 관리를 위해서는 사용자가 적절한 그룹에 속해있어야 합니다. EX> Domain Admins,Schema Admins,Enterprise Admins

AD관리시 유용한 모듈입니다.

이상 윈디안입니다~

출처 : 마이크로 소프트 테크넷
         http://technet.microsoft.com/en-us/library/dd378937(WS.10).aspx

'Powershell > 윈디안' 카테고리의 다른 글

PowerShell을 통한 IIS 관리  (0) 2010.10.26
iPowerShell???  (0) 2010.09.15
파워쉘상에서 키보드 입력 받기  (0) 2010.09.08
About PowerShell Pack !!!  (7) 2010.08.25
PowerShell 히스토리 내보내기 & 가져오기  (0) 2010.08.11
Posted by 알 수 없는 사용자
:
2010. 10. 5. 17:59

안녕하세요. 엉스데브 입니다.

이번에는 원격 서버에 파워쉘로 연결하는 방법에 대해 알아보았습니다.

Windows 2008 R2, Windows 7 부터는 기본적으로 PowerShell 원격 작업이 가능하도록 되어있습니다.
다만, 원격 연결을 설정하고 실행 하려면 원격 컴퓨터의 관리자(Administrators) 그룹의 권한이 필요하며,
로컬 서버에서 원격 서버에 연결 혹은 명령어를 실행 할 때 항상 이 권한을 가진 자격증명을 제공해 주어야 합니다.

1. 원격 서버 설정하기.
먼저 원격 기능을 사용할 수 있도록 원격 서버 설정을 변경 해 주어야 합니다.
PowerShell 2.0 부터는 이 설정 변경 작업을 간편하게 할 수 있는 cmdlet 을 기본 제공 합니다.

원격 서버에서 아래의 명령어를 실행하면 됩니다.

Enable-PSRemoting


명령을 실행하면 처리하는 작업에 대한 승인여부를 물어보는데,
아무것도 묻지않고 자동으로 처리 하도록 하려면 -Force 파라미터를 추가 해 주면 됩니다.




이 명령어를 실행하면, 자동으로 여러 설정을 변경해서, 원격 연결을 받아들일 수 있는 상태로 설정 해 줍니다.
자세한 내용은 MSDN 도움말(링크)을 확인 해 보시기 바랍니다.

기본적으로 모든 IP 에서 원격 연결을 허용하게끔 설정 되는데, 해당 서버의 Administrators 그룹 권한을 가진 계정정보를 모르면 원격 연결이 불가능 하기 때문에 보안적인 문제는 크게 걱정하지 않아도 됩니다.

만약, 제한 된 IP 에서만 원격 연결이 허용 되도록 하고싶다면, 직접 방화벽 설정을 통해 조절할 수 있습니다.
PowerShell 은 WinRM 프로토콜(TCP/5985, TCP/5986)을 사용해 통신하므로, 해당 포트의 접속 가능 여부를 조작 하시면 됩니다.

2. 로컬 서버의 "신뢰할 수 있는 호스트 목록" 에 원격 서버 추가하기.
원격 서버에 접속 하려면, 로컬 서버의 "신뢰할 수 있는 호스트 목록" 에 원격 서버를 등록 해야 합니다.
로컬 서버의 "신뢰할 수 있는 호스트 목록" 을 설정하려면, 아래의 명령어를 사용하면 됩니다.

Set-Item WSMan:\localhost\Client\TrustedHosts -Value "원격서버IP 혹은 호스트네임"

이 명령어를 사용하면 WinRM 보안구성 변경 확인 여부를 물어보는데,
아무것도 묻지않고 자동으로 처리 하도록 하려면 -Force 파라미터를 추가 해 주면 됩니다.




만약 여러개의 원격 서버를 지정 하고 싶다면 각 항목을 콤마(,) 로 구분하면 됩니다.

Set-Item WSMan:\localhost\Client\TrustedHosts -Value "원격서버1, 원격서버2"




만약 새로 설정하는 것이 아니라, 기존 설정에 추가하고 싶다면 아래와 같이 하면 됩니다.

$TrustedHostsOld = (Get-Item WSMan:\localhost\Client\TrustedHosts).Value
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "$TrustedHostsOld, 원격서버IP 혹은 호스트네임"




3. 원격 서버 접속용 자격증명(Credential) 만들기.
이제 원격 서버에 접속 할 수 있는 환경 구축은 마무리 되었고, 원격 서버에 접속 할 계정에 대한 자격 증명을 만들 차례 입니다.

자격증명은 간단히 아이디/패스워드 정보 라고 이해하시면 쉽습니다.
터미널에 접속 할 때 아이디/패스워드 를 입력 하는것 처럼, PowerShell 원격 접속 시에 사용할 아이디/패스워드 정보를 특정 형식으로 저장 한 것입니다.

PowerShell에서는 이 자격증명을 변수에 넣어두어 -Credential 파라미터에 지정 해 주는 방식으로 사용 할 수 있습니다.

자격증명은 아래와 같이 만들 수 있습니다.

(방법1)
간단하게 만들 수 있는 방법입니다.
하지만, 사용자가 패스워드를 직접 입력 해 주어야 하기 때문에, 스크립트 작성 등 자동 화가 필요한 작업에는 사용하기 어렵습니다.

아래의 명령을 입력하면, 패스워드를 입력받기 위한 팝업창에 표시 됩니다.
팝업되는 창에 패스워드를 입력 해 주면, 자격증명이 만들어져 $MyCredential 변수에 저장 됩니다.

$MyCredential = Get-Credential "아이디"




(방법2)
자동화가 필요할 때 사용할 수 있는 방법입니다.
사용자에게 직접 입력을 요구하지 않고, 미리 입력 해 둔 정보를 활용해서 자격증명을 만들 수 있습니다.

먼저, 아래 명령을 사용해서, 패스워드를 변수에 저장 합니다.
아래 명령어를 실행하고 패스워드를 입력 해 주면, 입력된 패스워드를 암호화 하여
아래 스크린샷과 같이 확인 할 수 없는 상태의 문자열로 변환되어 변수에 저장 됩니다.

$MyPassword = Read-Host "Password" -AsSecureString | ConvertFrom-SecureString




자동화가 필요할 경우, 이 변수에 저장 된 문자열을 별도로 저장해 두고 추후 자격 증명을 만들때 사용하면 됩니다.

이 문자열을 사용해 자격증명을 만들려면, 아래와 같이 실행하면 됩니다.

$MyPassword = $MyPassword | ConvertTo-SecureString
$ObjectTypeName = "System.Management.Automation.PSCredential"
$MyCredential = New-Object -TypeName $ObjectTypeName -ArgumentList "아이디",$MyPassword



4. 원격 작업 하기
이제 모든 준비가 완료 되었습니다. 원격 작업을 해 봅시다.
먼저, 원격 서버에 PowerShell 로 접속 하고 싶다면, 아래의 명령을 사용하면 됩니다.

Enter-PSSession -ComputerName "원격서버IP 혹은 호스트네임" -Credential $MyCredential



만약, 원격 서버에 접속하는 것이 아니라, 원격서버에서 특정 명령어만 실행하고 싶다면, 아래와 같이 하면 됩니다.

Invoke-Command -ComputerName "원격서버IP 혹은 호스트네임" -Credential $MyCredential -Command {"실행 할 명령어"}





원격 설정이 그다지 복잡하지 않네요. 여러대의 서버가 있을 경우, 유용하게 사용 할 수 있을 것 같습니다 ^^
오늘은 여기까지 입니다. 제가 포스팅 한 내용이 도움이 되셨기를 바랍니다.

감사합니다.

Posted by 알 수 없는 사용자
:
2010. 9. 28. 15:29

안녕하세요. 엉스데브 입니다.

오늘은 PowerShell 에서 작업 한 내용을 기록하는 방법에 대해 알아보겠습니다.

작업 내용을 기록하는 것은 아주 중요한 일입니다.
하지만, 작업만 하기에도 바쁜데 별도로 기록까지 하려면 어려움이 있는게 사실이죠.
그래서 PowerShell 은 기본적으로 History 기능을 제공하며, 대단히 큰  도움이 됩니다.

하지만, History 기능은 입력한 내용만 기록 할 뿐, 출력 내용까지 기록 하지는 않습니다.
입력 및 출력까지 PowerShell 로 작업 한 모든 기록을 남기고자 한다면, Start-Transcript cmdlet 을 사용하면 됩니다.




Start-Transcript cmdlet 을 아무런 추가 파라미터 없이 실행하게 되면, 기본적으로 내문서 디렉터리에
"PowerShell_transcript.날자시간정보.txt" 형식의 이름으로 작업 내용이 기록되는 파일이 생성 됩니다.




Start-Transcript cmdlet 의 자세한 파라미터 정보를 보시려면, 아래의 더보기 를 클릭하세요.




작업 내용 기록을 종료하고 싶을 때에는 Stop-Transcript cmdlet 을 사용하거나, 그냥 PowerShell 창을 닫으면 됩니다.




Start-Transcript cmdlet 을 Profile 에 넣어서 항상 작업 기록이 남도록 해 두었습니다. 든든하네요. ^^

작업 기록이란게 남길때는 귀찮지만, 나중에 필요할때는 정말 절실한 데이터 입니다.
여러분들 모두 작업 기록을 꼭 남기셔서 차후에 유용하게 사용하실 수 있기를 바랍니다.

Posted by 알 수 없는 사용자
:
2010. 9. 27. 22:25
안녕하세요. 엉스데브 입니다.

이번엔 PowerShell 에서 이벤트 로그 저장 설정을 변경하는 방법에 대해 알아보았습니다.

PowerShell 에서 기본적으로 제공하는 cmdlet 중 하나인 Limit-EventLog 을 사용하면 됩니다.

Limit-EventLog cmdlet 을 통해 다음의 3가지 이벤트 로그 저장 설정을 변경 할 수 있습니다.
1. 최대 로그 크기
2. 최대 로그 크기에 도달 했을 때 취할 액션
3. 이벤트가 이벤트 로그 내에서 유지되어야 하는 최소 일수

먼저 현재 이벤트 로그 목록 및 설정 상태를 확인 합니다. 다음과 같이 실행하면 됩니다.
Get-EventLog -List




1. 최대 로그 크기 를 변경하려면, 다음과 같이 실행하면 됩니다.
Limit-EventLog -LogName "로그이름" -MaximumSize "로그크기"





2. 최대 로그 크기에 도달 했을 때 취할 액션을 변경하려면, 다음과 같이 실행하면 됩니다.
Limit-EventLog -LogName "로그이름" -OverFlowAction "액션"



최대 로그 크기에 도달 했을 때 취할 액션은 다음의 3가지 중 하나를 지정 가능 합니다.
- DoNotOverwrite:  기존 항목이 유지되고 새 항목이 삭제됩니다.
- OverwriteAsNeeded:  각각의 새 항목이 가장 오래된 항목을 덮어씁니다.
- OverwriteOlder:  새 이벤트가 MinimumRetentionDays 속성에 지정된 값보다 오래된 이벤트를 덮어씁니다. MinimumRetentionDays 속성에 지정된 값보다 오래된 이벤트가 없는 경우 새 이벤트가 삭제됩니다.


3. 이벤트가 이벤트 로그 내에서 유지되어야 하는 최소 일수를 변경하려면 다음과 같이 실행하면 됩니다.
반드시 최대 로그 크기에 도달 했을 때 취할 액션이 OverwriteOlder 로 지정 되어야 합니다.
Limit-EventLog -LogName "로그이름" -OverFlowAction OverwriteOlder -RetentionDays "유지일수"





헌데, 문제를 발견했습니다.
저는 이벤트 로그가 가득 찼을 때 이벤트 로그를 별도 저장 해 두고 새롭게 쌓게(아카이빙) 하고 싶었습니다만,
현재 PowerShell에서는 이렇게 설정 할 수 있는 방법을 찾을 수 없었습니다.

대신 wevtutil 이라는 커맨드라인 유틸리티를 통해 설정이 가능했습니다. 다음과 같이 실행하면 됩니다.
wevtutil sl "로그이름" /rt:true /ab:true



* 위 명령에 대한 자세한 설명을 보시려면, 아래 더보기를 클릭하세요.

wevtutil 은 Windows 2008 부터 제공되는 커맨드 라인 유틸리티로서, 새롭게 변경 된 이벤트 로그 시스템을 커맨드 라인 상에서 관리 할 수 있도록 도와 줍니다.

wevtutil 을 자세히 살펴 본 결과, PowerShell 에서는 설정 할 수 있는 모든 부분을 설정 할 수 있을 뿐만 아니라,
PowerShell 에서는 설정 할 수 없는 부분도 wevtutil 은 수정이 가능 했습니다.
현재는 PowerShell 에서 제공하는 이벤트 로그 관련 cmdlet 보다 wevtutil 가 훨씬 강력한 기능을 가지고 있다고 판단 됩니다.
PowerShell 에서도 커맨드라인 유틸리티를 자유롭게 사용 할 수 있으므로, 이벤트 로그 설정과 관련한 작업시 wevtutil 을 적극적으로 사용하는 것이 바람직 하다고 봅니다. 물론 Object 기반의 처리를 못한다는 아쉬움은 남습니다.

앞으로 PowerShell 은 더욱더 강력해져서 윈도우 시스템의 모든 부분을 다룰 수 있게 되리라 기대하고 있습니다만,
역시 아직은 아쉬운 부분이 많이 있는것 같습니다.

PowerShell 이 더 강력해 지기를 바래 봅니다.
Posted by 알 수 없는 사용자
:
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 알 수 없는 사용자
:

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 :