Windows Server 2012에서 ADMX 파일 추가하기


이것을 보면 MS Site에서 다운로드한 관리 템플릿 파일을 GPT 저장위치에 복사하면 새롭게 추가된 GPO 관리 항목을 이용할 수 있다.
Administrative Templates (.admx) for Windows 8 and Windows Server 2012 출처:  http://bit.ly/XP7xBR

Upgrading the ADMX Central Store files from Windows 7/2008R2 to Windows 8/2012: http://bit.ly/XP7yWv

PowerShell을 사용하여 로컬 컴퓨터에 설치된 Printer 보기 및 공유된 프린터 추가하기


  1. PowerShell V3.0에서는 Printer에 대한 cmdlet가 추가되어 있다. Get-Command *-Printer를 해 보면 알 수 있다. PowerShell로 Printer를 관리한다면, 관리자가 원격 컴퓨터에 접속하여 프린터를 설치할 수 있는 장점이 있다
  2. 로컬 컴퓨터에 설치된 프린터를 보려면
    Get-Printer
    Get-Printer -Name  “HP LaserJet 400 M401 PCL 6”
    Get-Printer -Name  “HP LaserJet 400 M401 PCL 6” | Format-List *
    (이렇게 보면 “공유 여부”와 “공유 이름” 및 “Active Directory에 게시(Published) 여부”도 알 수 있다)
  3. [원격 컴퓨터]에 설치된 프린터를 보려면
    Get-Printer -ComputerName Server1
    Get-Printer -ComputerName Server1 | fl *
  4. Active Directory에 게시된 Printer를 보려면…
    Get-Printer -ComputerName DC1 | Where-Object {$_.Published}
    ** 이렇게 확인을 했으면 프린터 추가 마법사를 통하여 프린터를 설치하면 된다
  5. 공유된 프린터를 로컬 컴퓨터에 설치하기
    Get-Printer -ComputerName Server1 | fl *
    Get-Printer -ComputerName Server1 | Select-Object -Property ShareName
    Add-Printer -ConnectionName \\Server1\Sharedname
  6. 원격 컴퓨터에 접속하여 로컬 프린터 설치하기
    Enter-PSSession -ComputerName pc1
    Add-Printer -ConnectionName \\Server1\Sharedname

PowerShell을 가지고 파일 및 폴더를 숨기거나 숨긴 파일 및 폴더를 보려면..


파일/폴더를 숨기려면…

1) 윈도우 탐색기를 이용한다

2) Powershell을 이용한다. 이것의 장점은 원격 컴퓨터에 존재하는 파일도 숨길 수 있다는 것이다

$(Get-Item .\Server1.vhdx).Attributes = ‘Hidden’

참고: http://martinzugec.blogspot.kr/2009/08/get-or-set-filedirectory-attributes.html
여기를 보면 Attributes에 어떤 항목들이 있는지 알 수 있다.

 

숨겨진 파일/폴더를 보려면…

1) 윈도우 탐색기를 이용한다

2) PowerShell을 이용한다. 이것의 장점은 원격 컴퓨터의 숨겨진 파일도 볼 수 있다는 것이다.

Get-ChildItem  Force

Get-ChildItem  –Force | Where-Object { $_.Attributes -match “Hidden”}
이것은 숨긴 파일들만 화면에 보는 것이다.

 

 

 

Powershell의 Script를 이용하여 30일이 지난 파일을 자동으로 삭제하거나 이동하기


  1. 파일이 생성된 특정한 기간이 지난 후에 자동으로 지우거나 옮길 필요가 있다. 특히 파일 서버를 운영하거나 FTP server를 운영할 때 필요하다. 또는 사용자 컴퓨터의 파일을 감시할 때도 필요하다.
  2. 예를 들면 c:\Temp 폴더나 File server에 저장된 Media File들을 저장소 관리를 위해서 특정 기간이 지나면 자동으로 삭제할 필요가 있다. 또한 사용자의 컴퓨터를 검색해서 음악 및 동영상 파일을 다른 서버로 이동하여 보관하는 것도 필요하다.
  3. 이것을 구현하기 위해서 다음과 같이 해 본다.
    1. 특정한 폴더의 내용을 먼저 본 후에 그것을 삭제한다.
      Get-ChildItem -Path c:\Temp -Recurse | Remove-Item
    2. 또는 c:\Windows, ‘C:\Program Files’  폴더는 제외하고 *.mp3, *.mp4, *.avi 확장자를 가진 파일들만 찾아서 다른 컴퓨터(File server)로 이동한다.
      Get-ChildItem -Path C:\ -Recurse -Exclude c:\Windows, ‘C:\Program Files’ -Filter *.mp3, *.mp4, *.avi | Move-Item -Destination \\FileServer\Shared
    3. 이제는 현재를 시점으로 30일 전을 어떻게 표현을 하는지 생각해본다.
      Get-Date
      Get-Date | Get-Member
      (Get-Date).AddDays(-30)
      $today = Get-Date
      $DaysToDelete = $Today.AddDays(-30)
    4. 그 다음으로는 파일이 언제 만들어졌는지를 어떻게 확인할까?
      Get-ChildItem c:\Temp | Get-Member
      여기서 LastWriteTime을 주목한다. 이것은 파일이 생성되었거나 마지막으로 수정한 시간을 말한다.
      Get-ChildItem C:\Temp -Recurse | Where-Object {$_.LastWriteTime -lt $DaysToDelete}

  1. 이제 최종적으로 현재를 시점으로 30일 전에 만들어진 파일을 삭제하거나 이동하자.
    Get-ChildItem C:\Temp -Recurse | Where-Object {$_.LastWriteTime -lt $DaysToDelete} | Remove-Item
    Get-ChildItem C:\Temp -Recurse | Where-Object {$_.LastWriteTime -lt $DaysToDelete} | Move-Item -Destination \\FileServer\Shared
    Get-ChildItem -Path C:\ -Recurse -Exclude c:\Windows, ‘C:\Program Files’ -Filter *.mp3, *.mp4, *.avi | Move-Item -Destination \\FileServer\Shared
  2. 이렇게 작성한 것을 DeleteAllFilesAfter30Days.ps1 파일로 저장한다.
  3. 스크립트 파일을 실행해야 하므로 Set-ExecutionPolicy RemoteSigned를 실행하여 스크립트를 실행할 수 있는 환경을 만든다.
  4. DeleteAllFilesAfter30Days.ps1  파일을 Scheduled Task(예약 작업)에 추가하여 로그온 할 때 마다 자동으로 실행하도록 한다.
  5. 또는 Group Policy에 연결하여 특정한 컴퓨터에 적용하도록 한다.
  1. 이렇게 하여 모든 작업이 끝난다. 파일 서버에 이 작업을 걸 수도 있고 개인 컴퓨터에도 할 수 있다. 파일 서버에 적용할 때는 용량이 큰 파일을 하는 것도 괜찮다. 사실 파일 서버에 이 작업을 걸 때는 PowerShell을 이용하는 것보다는 FSRM을 이용하는 것이 좋다.