출처 : https://practical365.com/export-mailboxes-exchange-server-2010-sp1/

 

How to Export Mailboxes with Exchange Server 2010 SP1

How to use Mailbox Export Requests in Exchange Server 2010 SP1 to export mailboxes to PST file.

practical365.com

 

 

"Windows PowerShell" 또는 "Exchange Management Shell" 실행

  • Export 권한 부여
    New-ManagementRoleAssignment –Role "Mailbox Import Export" –User Administrator

  • Export 실행
    New
    -MailboxExportRequest -Mailbox {사서함계정} -FilePath "{UNC경로\사서함계정.pst}"

  • Export 간략 상태 (Queued : 실행 대기/자료 취합, InProgress : Export중, Completed : 완료)
    Get-MailboxExportRequest

  • Export 상세 상태
    Get
    -MailboxExportRequest -Name MailboxExport | fl

  • Export 완료된 것 목록에서 제거
    Get-MailboxExportRequest | where {$_.status -eq "Completed"} | Remove-MailboxExportRequest

출처 : https://docs.microsoft.com/ko-kr/exchange/new-features/build-numbers-and-release-dates?view=exchserver-2016 

 

Exchange Server 빌드 번호 및 릴리스 날짜

요약: 현재 및 이전 버전의 Exchange Server에 대한 빌드 번호와 릴리스 날짜에 대해 알아봅니다.

docs.microsoft.com

 

 

Get-ExchangeServer | Format-List Name,Edition,AdminDisplayVersion

 

 

Exchange Server 2019

이 섹션의 표에서는 각 Microsoft Exchange Server 2019 버전의 빌드 번호와 일반적인 릴리스 날짜를 제공합니다.

 


EXCHANGE SERVER 2019제품 이름릴리스 날짜빌드 번호(짧은 형식)빌드 번호(긴 형식)

   Exchange Server 2019 CU10 Jul21SU 2021년 7월 13일 15.2.922.13 15.02.0922.013
Exchange Server 2019 CU10 2021년 6월 29일 15.2.922.7 15.02.0922.007
   Exchange Server 2019 CU9 Jul21SU 2021년 7월 13일 15.2.858.15 15.02.0858.015
   Exchange Server 2019 CU9 May21SU 2021년 5월 11일 15.2.858.12 15.02.0858.012
   Exchange Server 2019 CU9 Apr21SU 2021년 4월 13일 15.2.858.10 15.02.0858.010
Exchange Server 2019 CU9 2021년 3월 16일 15.2.858.5 15.02.0858.005
   Exchange Server 2019 CU8 May21SU 2021년 5월 11일 15.2.792.15 15.02.0792.015
   Exchange Server 2019 CU8 Apr21SU 2021년 4월 13일 15.2.792.13 15.02.0792.013
   Exchange Server 2019 CU8 Mar21SU 2021년 3월 2일 15.2.792.10 15.02.0792.010
Exchange Server 2019 CU8 2020년 12월 15일 15.2.792.3 15.02.0792.003
   Exchange Server 2019 CU7 Mar21SU 2021년 3월 2일 15.2.721.13 15.02.0721.013
Exchange Server 2019 CU7 2020년 9월 15일 15.2.721.2 15.02.0721.002
   Exchange Server 2019 CU6 Mar21SU 2021년 3월 2일 15.2.659.12 15.02.0659.012
Exchange Server 2019 CU6 2020년 6월 16일 15.2.659.4 15.02.0659.004
   Exchange Server 2019 CU5 Mar21SU 2021년 3월 2일 15.2.595.8 15.02.0595.008
Exchange Server 2019 CU5 2020년 3월 17일 15.2.595.3 15.02.0595.003
   Exchange Server 2019 CU4 Mar21SU 2021년 3월 2일 15.2.529.13 15.02.0529.013
Exchange Server 2019 CU4 2019년 12월 17일 15.2.529.5 15.02.0529.005
   Exchange Server 2019 CU3 Mar21SU 2021년 3월 2일 15.2.464.15 15.02.0464.015
Exchange Server 2019 CU3 2019년 9월 17일 15.2.464.5 15.02.0464.005
   Exchange Server 2019 CU2 Mar21SU 2021년 3월 2일 15.2.397.11 15.02.0397.011
Exchange Server 2019 CU2 2019년 6월 18일 15.2.397.3 15.02.0397.003
   Exchange Server 2019 CU1 Mar21SU 2021년 3월 2일 15.2.330.11 15.02.0330.011
Exchange Server 2019 CU1 2019년 2월 12일 15.2.330.5 15.02.0330.005
   Exchange Server 2019 RTM Mar21SU 2021년 3월 2일 15.2.221.18 15.02.0221.018
Exchange Server 2019 RTM 2018년 10월 22일 15.2.221.12 15.02.0221.012
Exchange Server 2019 미리 보기 2018년 7월 24일 15.2.196.0 15.02.0196.000
       

Exchange Server 2016

이 섹션의 표에서는 각 Microsoft Exchange Server 2016 버전의 빌드 번호와 일반적인 릴리스 날짜를 제공합니다.

 


EXCHANGE SERVER 2016제품 이름릴리스 날짜빌드 번호(짧은 형식)빌드 번호(긴 형식)

   Exchange Server 2016 CU21 Jul21SU 2021년 7월 13일 15.1.2308.14 15.01.2308.014
Exchange Server 2016 CU21 2021년 6월 29일 15.1.2308.8 15.01.2308.008
   Exchange Server 2016 CU20 Jul21SU 2021년 7월 13일 15.1.2242.12 15.01.2242.012
   Exchange Server 2016 CU20 May21SU 2021년 5월 11일 15.1.2242.10 15.01.2242.010
   Exchange Server 2016 CU20 Apr21SU 2021년 4월 13일 15.1.2242.8 15.01.2242.008
Exchange Server 2016 CU20 2021년 3월 16일 15.1.2242.4 15.01.2242.004
   Exchange Server 2016 CU19 May21SU 2021년 5월 11일 15.1.2176.14 15.01.2176.014
   Exchange Server 2016 CU19 Apr21SU 2021년 4월 13일 15.1.2176.12 15.01.2176.012
   Exchange Server 2016 CU19 Mar21SU 2021년 3월 2일 15.1.2176.9 15.01.2176.009
Exchange Server 2016 CU19 2020년 12월 15일 15.1.2176.2 15.01.2176.002
   Exchange Server 2016 CU18 Mar21SU 2021년 3월 2일 15.1.2106.13 15.01.2106.013
Exchange Server 2016 CU18 2020년 9월 15일 15.1.2106.2 15.01.2106.002
   Exchange Server 2016 CU17 Mar21SU 2021년 3월 2일 15.1.2044.13 15.01.2044.013
Exchange Server 2016 CU17 2020년 6월 16일 15.1.2044.4 15.01.2044.004
   Exchange Server 2016 CU16 Mar21SU 2021년 3월 2일 15.1.1979.8 15.01.1979.008
Exchange Server 2016 CU16 2020년 3월 17일 15.1.1979.3 15.01.1979.003
   Exchange Server 2016 CU15 Mar21SU 2021년 3월 2일 15.1.1913.12 15.01.1913.012
Exchange Server 2016 CU15 2019년 12월 17일 15.1.1913.5 15.01.1913.005
   Exchange Server 2016 CU14 Mar21SU 2021년 3월 2일 15.1.1847.12 15.01.1847.012
Exchange Server 2016 CU14 2019년 9월 17일 15.1.1847.3 15.01.1847.003
   Exchange Server 2016 CU13 Mar21SU 2021년 3월 2일 15.1.1779.8 15.01.1779.008
Exchange Server 2016 CU13 2019년 6월 18일 15.1.1779.2 15.01.1779.002
   Exchange Server 2016 CU12 Mar21SU 2021년 3월 2일 15.1.1713.10 15.01.1713.010
Exchange Server 2016 CU12 2019년 2월 12일 15.1.1713.5 15.01.1713.005
   Exchange Server 2016 CU11 Mar21SU 2021년 3월 2일 15.1.1591.18 15.01.1591.018
Exchange Server 2016 CU11 2018년 10월 16일 15.1.1591.10 15.01.1591.010
   Exchange Server 2016 CU10 Mar21SU 2021년 3월 2일 15.1.1531.12 15.01.1531.012
Exchange Server 2016 CU10 2018년 6월 19일 15.1.1531.3 15.01.1531.003
   Exchange Server 2016 CU9 Mar21SU 2021년 3월 2일 15.1.1466.16 15.01.1466.016
Exchange Server 2016 CU9 2018년 3월 20일 15.1.1466.3 15.01.1466.003
   Exchange Server 2016 CU8 Mar21SU 2021년 3월 2일 15.1.1415.10 15.01.1415.010
Exchange Server 2016 CU8 2017년 12월 19일 15.1.1415.2 15.01.1415.002
Exchange Server 2016 CU7 2017년 9월 19일 15.1.1261.35 15.01.1261.035
Exchange Server 2016 CU6 2017년 6월 27일 15.1.1034.26 15.01.1034.026
Exchange Server 2016 CU5 2017년 3월 21일 15.1.845.34 15.01.0845.034
Exchange Server 2016 CU4 2016년 12월 13일 15.1.669.32 15.01.0669.032
Exchange Server 2016 CU3 2016년 9월 20일 15.1.544.27 15.01.0544.027
Exchange Server 2016 CU2 2016년 6월 21일 15.1.466.34 15.01.0466.034
Exchange Server 2016 CU1 2016년 3월 15일 15.1.396.30 15.01.0396.030
Exchange Server 2016 RTM 2015년 10월 1일 15.1.225.42 15.01.0225.042
Exchange Server 2016 미리 보기 2015년 7월 22일 15.1.225.16 15.01.0225.016
       

Exchange Server 2013

이 섹션의 표에서는 각 Microsoft Exchange Server 2013 버전의 빌드 번호와 일반적인 릴리스 날짜가 제공됩니다.

 


EXCHANGE SERVER 2013제품 이름릴리스 날짜빌드 번호(짧은 형식)빌드 번호(긴 형식)

   Exchange Server 2013 CU23 Jul21SU 2021년 7월 13일 15.0.1497.23 15.00.1497.023
   Exchange Server 2013 CU23 May21SU 2021년 5월 11일 15.0.1497.18 15.00.1497.018
   Exchange Server 2013 CU23 Apr21SU 2021년 4월 13일 15.0.1497.15 15.00.1497.015
   Exchange Server 2013 CU23 Mar21SU 2021년 3월 2일 15.0.1497.12 15.00.1497.012
Exchange Server 2013 CU23 2019년 6월 18일 15.0.1497.2 15.00.1497.002
   Exchange Server 2013 CU22 Mar21SU 2021년 3월 2일 15.0.1473.6 15.00.1473.006
Exchange Server 2013 CU22 2019년 2월 12일 15.0.1473.3 15.00.1473.003
   Exchange Server 2013 CU21 Mar21SU 2021년 3월 2일 15.0.1395.12 15.00.1395.012
Exchange Server 2013 CU21 2018년 6월 19일 15.0.1395.4 15.00.1395.004
Exchange Server 2013 CU20 2018년 3월 20일 15.0.1367.3 15.00.1367.003
Exchange Server 2013 CU19 2017년 12월 19일 15.0.1365.1 15.00.1365.001
Exchange Server 2013 CU18 2017년 9월 19일 15.0.1347.2 15.00.1347.002
Exchange Server 2013 CU17 2017년 6월 27일 15.0.1320.4 15.00.1320.004
Exchange Server 2013 CU16 2017년 3월 21일 15.0.1293.2 15.00.1293.002
Exchange Server 2013 CU15 2016년 12월 13일 15.0.1263.5 15.00.1263.005
Exchange Server 2013 CU14 2016년 9월 20일 15.0.1236.3 15.00.1236.003
Exchange Server 2013 CU13 2016년 6월 21일 15.0.1210.3 15.00.1210.003
Exchange Server 2013 CU12 2016년 3월 15일 15.0.1178.4 15.00.1178.004
Exchange Server 2013 CU11 2015년 12월 15일 15.0.1156.6 15.00.1156.006
Exchange Server 2013 CU10 2015년 9월 15일 15.0.1130.7 15.00.1130.007
Exchange Server 2013 CU9 2015년 6월 17일 15.0.1104.5 15.00.1104.005
Exchange Server 2013 CU8 2015년 3월 17일 15.0.1076.9 15.00.1076.009
Exchange Server 2013 CU7 2014년 12월 9일 15.0.1044.25 15.00.1044.025
Exchange Server 2013 CU6 2014년 8월 26일 15.0.995.29 15.00.0995.029
Exchange Server 2013 CU5 2014년 5월 27일 15.0.913.22 15.00.0913.022
   Exchange Server 2013 SP1 Mar21SU 2021년 3월 2일 15.0.847.64 15.00.0847.064
Exchange Server 2013 SP1 2014년 2월 25일 15.0.847.32 15.00.0847.032
Exchange Server 2013 CU3 2013년 11월 25일 15.0.775.38 15.00.0775.038
Exchange Server 2013 CU2 2013년 7월 9일 15.0.712.24 15.00.0712.024
Exchange Server 2013 CU1 2013년 4월 2일 15.0.620.29 15.00.0620.029
Exchange Server 2013 RTM 2012년 12월 3일 15.0.516.32 15.00.0516.032
       

Exchange Server 2010

이 섹션의 표에서는 각 Microsoft Exchange Server 2010 버전의 빌드 번호와 일반적인 릴리스 날짜가 제공됩니다.

Exchange Server 2010 SP3 빌드 번호

 


EXCHANGE SERVER 2010 SP3 빌드 번호제품 이름릴리스 날짜빌드 번호(짧은 형식)빌드 번호(긴 형식)

Exchange Server 2010 SP3용 업데이트 롤업 32 2021년 3월 2일 14.3.513.0 14.03.0513.000
Exchange Server 2010 SP3용 업데이트 롤업 31 2020년 12월 1일 14.3.509.0 14.03.0509.000
Exchange Server 2010 SP3용 업데이트 롤업 30 2020년 2월 11일 14.3.496.0 14.03.0496.000
Exchange Server 2010 SP3용 업데이트 롤업 29 2019년 7월 9일 14.3.468.0 14.03.0468.000
Exchange Server 2010 SP3용 업데이트 롤업 28 2019년 6월 7일 14.3.461.1 14.03.0461.001
Exchange Server 2010 SP3용 업데이트 롤업 27 2019년 4월 9일 14.3.452.0 14.03.0452.000
Exchange Server 2010 SP3용 업데이트 롤업 26 2019년 2월 12일 14.3.442.0 14.03.0442.000
Exchange Server 2010 SP3용 업데이트 롤업 25 2019년 1월 8일 14.3.435.0 14.03.0435.000
Exchange Server 2010 SP3용 업데이트 롤업 24 2018년 9월 5일 14.3.419.0 14.03.0419.000
Exchange Server 2010 SP3용 업데이트 롤업 23 2018년 8월 13일 14.3.417.1 14.03.0417.001
Exchange Server 2010 SP3용 업데이트 롤업 22 2018년 6월 19일 14.3.411.0 14.03.0411.000
Exchange Server 2010 SP3용 업데이트 롤업 21 2018년 5월 7일 14.3.399.2 14.03.0399.002
Exchange Server 2010 SP3용 업데이트 롤업 20 2018년 3월 5일 14.3.389.1 14.03.0389.001
Exchange Server 2010 SP3용 업데이트 롤업 19 2017년 12월 19일 14.3.382.0 14.03.0382.000
Exchange Server 2010 SP3용 업데이트 롤업 18 2017년 7월 11일 14.3.361.1 14.03.0361.001
Exchange Server 2010 SP3용 업데이트 롤업 17 2017년 3월 21일 14.3.352.0 14.03.0352.000
Exchange Server 2010 SP3용 업데이트 롤업 16 2016년 12월 13일 14.3.336.0 14.03.0336.000
Exchange Server 2010 SP3용 업데이트 롤업 15 2016년 9월 20일 14.3.319.2 14.03.0319.002
Exchange Server 2010 SP3용 업데이트 롤업 14 2016년 6월 21일 14.3.301.0 14.03.0301.000
Exchange Server 2010 SP3용 업데이트 롤업 13 2016년 3월 15일 14.3.294.0 14.03.0294.000
Exchange Server 2010 SP3용 업데이트 롤업 12 2015년 12월 15일 14.3.279.2 14.03.0279.002
Exchange Server 2010 SP3용 업데이트 롤업 11 2015년 9월 15일 14.3.266.2 14.03.0266.002
Exchange Server 2010 SP3용 업데이트 롤업 10 2015년 6월 17일 14.3.248.2 14.03.0248.002
Exchange Server 2010 SP3용 업데이트 롤업 9 2015년 3월 17일 14.3.235.1 14.03.0235.001
Exchange Server 2010 SP3용 업데이트 롤업 8 v2 2014년 12월 12일 14.3.224.2 14.03.0224.002
Exchange Server 2010 SP3용 업데이트 롤업 8 v1(회수됨) 2014년 12월 9일 14.3.224.1 14.03.0224.001
Exchange Server 2010 SP3용 업데이트 롤업 7 2014년 8월 26일 14.3.210.2 14.03.0210.002
Exchange Server 2010 SP3용 업데이트 롤업 6 2014년 5월 27일 14.3.195.1 14.03.0195.001
Exchange Server 2010 SP3용 업데이트 롤업 5 2014년 2월 24일 14.3.181.6 14.03.0181.006
Exchange Server 2010 SP3용 업데이트 롤업 4 2013년 12월 9일 14.3.174.1 14.03.0174.001
Exchange Server 2010 SP3용 업데이트 롤업 3 2013년 11월 25일 14.3.169.1 14.03.0169.001
Exchange Server 2010 SP3용 업데이트 롤업 2 2013년 8월 8일 14.3.158.1 14.03.0158.001
Exchange Server 2010 SP3용 업데이트 롤업 1 2013년 5월 29일 14.3.146.0 14.03.0146.000
Exchange Server 2010 SP3 2013년 2월 12일 14.3.123.4 14.03.0123.004
       

Exchange Server 2010 이전 릴리스의 빌드 번호

 


EXCHANGE SERVER 2010 이전 릴리스의 빌드 번호제품 이름릴리스 날짜빌드 번호(짧은 형식)빌드 번호(긴 형식)

Exchange Server 2010 SP2용 업데이트 롤업 8 2013년 12월 9일 14.2.390.3 14.02.0390.003
Exchange Server 2010 SP2용 업데이트 롤업 7 2013년 8월 3일 14.2.375.0 14.02.0375.000
Exchange Server 2010 SP2용 업데이트 롤업 6 2013년 2월 12일 14.2.342.3 14.02.0342.003
Exchange Server 2010 SP2용 업데이트 롤업 5 v2 2012년 12월 10일 14.2.328.10 14.02.0328.010
Exchange Server 2010 SP2용 업데이트 롤업 5 2012년 11월 13일 14.3.328.5 14.03.0328.005
Exchange Server 2010 SP2용 업데이트 롤업 4 v2 2012년 10월 9일 14.2.318.4 14.02.0318.004
Exchange Server 2010 SP2용 업데이트 롤업 4 2012년 8월 13일 14.2.318.2 14.02.0318.002
Exchange Server 2010 SP2용 업데이트 롤업 3 2012년 5월 29일 14.2.309.2 14.02.0309.002
Exchange Server 2010 SP2용 업데이트 롤업 2 2012년 4월 16일 14.2.298.4 14.02.0298.004
Exchange Server 2010 SP2용 업데이트 롤업 1 2012년 2월 13일 14.2.283.3 14.02.0283.003
Exchange Server 2010 SP2 2011년 12월 4일 14.2.247.5 14.02.0247.005
       
Exchange Server 2010 SP1용 업데이트 롤업 8 2012년 12월 10일 14.1.438.0 14.01.0438.000
Exchange Server 2010 SP1용 업데이트 롤업 7 v3 2012년 11월 13일 14.1.421.3 14.01.0421.003
Exchange Server 2010 SP1용 업데이트 롤업 7 v2 2012년 10월 10일 14.1.421.2 14.01.0421.002
Exchange Server 2010 SP1용 업데이트 롤업 7 2012년 8월 8일 14.1.421.0 14.01.0421.000
Exchange Server 2010 SP1용 업데이트 롤업 6 2011년 10월 27일 14.1.355.2 14.01.0355.002
Exchange Server 2010 SP1용 업데이트 롤업 5 2011년 8월 23일 14.1.339.1 14.01.0339.001
Exchange Server 2010 SP1용 업데이트 롤업 4 2011년 7월 27일 14.1.323.6 14.01.0323.006
Exchange Server 2010 SP1용 업데이트 롤업 3 2011년 4월 6일 14.1.289.7 14.01.0289.007
Exchange Server 2010 SP1용 업데이트 롤업 2 2010년 12월 9일 14.1.270.1 14.01.0270.001
Exchange Server 2010 SP1용 업데이트 롤업 1 2010년 10월 4일 14.1.255.2 14.01.0255.002
Exchange Server 2010 SP1 2010년 8월 23일 14.1.218.15 14.01.0218.015
       
Exchange Server 2010용 업데이트 롤업 5 2010년 12월 13일 14.0.726.0 14.00.0726.000
Exchange Server 2010용 업데이트 롤업 4 2010년 6월 10일 14.0.702.1 14.00.0702.001
Exchange Server 2010용 업데이트 롤업 3 2010년 4월 13일 14.0.694.0 14.00.0694.000
Exchange Server 2010용 업데이트 롤업 2 2010년 3월 4일 14.0.689.0 14.00.0689.000
Exchange Server 2010용 업데이트 롤업 1 2009년 12월 9일 14.0.682.1 14.00.0682.001
Exchange Server 2010 RTM 2009년 11월 9일 14.0.639.21 14.00.0639.021
       

Exchange Server 2007

이 섹션의 표에서는 각 Microsoft Exchange Server 2007 버전의 빌드 번호와 일반적인 릴리스 날짜가 제공됩니다.

 참고

Exchange Server 2007 SP1에 대한 버전 정보는 Exchange 관리 콘솔, Exchange 관리 셸 및 Exchange Server 2007 도움말 대화 상자에 명확하게 표시되어 있습니다. 그러나 Exchange 2007 RTM 버전을 실행 중인 Edge 전송 서버에 Exchange 2007 SP1을 적용한 후 Edge 전송 서버를 Active Directory 사이트에 다시 구독하지 않으면 Exchange Management Console에 Edge 전송 서버의 버전 정보가 업데이트되지 않습니다. 이는 Edge 전송 서버는 구성 정보를 사용하여 Active Directory를 직접 업데이트하지 않기 때문입니다. 대신 Edge 구독을 만드는 동안 Edge 전송 서버의 버전 정보가 Active Directory에 기록됩니다.

 


EXCHANGE SERVER 2007제품 이름릴리스 날짜빌드 번호(짧은 형식)빌드 번호(긴 형식)

Exchange Server 2007 SP3용 업데이트 롤업 23 2017년 3월 21일 8.3.517.0 8.03.0517.000
Exchange Server 2007 SP3용 업데이트 롤업 22 2016년 12월 13일 8.3.502.0 8.03.0502.000
Exchange Server 2007 SP3용 업데이트 롤업 21 2016년 9월 20일 8.3.485.1 8.03.0485.001
Exchange Server 2007 SP3용 업데이트 롤업 20 2016년 6월 21일 8.3.468.0 8.03.0468.000
Exchange Server 2007 SP3용 업데이트 롤업 19 2016년 3월 15일 8.3.459.0 8.03.0459.000
Exchange Server 2007 SP3용 업데이트 롤업 18 2015년 12월 8.3.445.0 8.03.0445.000
Exchange Server 2007 SP3용 업데이트 롤업 17 2015년 6월 17일 8.3.417.1 8.03.0417.001
Exchange Server 2007 SP3용 업데이트 롤업 16 2015년 3월 17일 8.3.406.0 8.03.0406.000
Exchange Server 2007 SP3용 업데이트 롤업 15 2014년 12월 9일 8.3.389.2 8.03.0389.002
Exchange Server 2007 SP3용 업데이트 롤업 14 2014년 8월 26일 8.3.379.2 8.03.0379.002
Exchange Server 2007 SP3용 업데이트 롤업 13 2014년 2월 24일 8.3.348.2 8.03.0348.002
Exchange Server 2007 SP3용 업데이트 롤업 12 2013년 12월 9일 8.3.342.4 8.03.0342.004
Exchange Server 2007 SP3용 업데이트 롤업 11 2013년 8월 13일 8.3.327.1 8.03.0327.001
Exchange Server 2007 SP3용 업데이트 롤업 10 2013년 2월 11일 8.3.298.3 8.03.0298.003
Exchange Server 2007 SP3용 업데이트 롤업 9 2012년 12월 10일 8.3.297.2 8.03.0297.002
Exchange Server 2007 SP3용 업데이트 롤업 8-v3 2012년 11월 13일 8.3.279.6 8.03.0279.006
Exchange Server 2007 SP3용 업데이트 롤업 8-v2 2012년 10월 9일 8.3.279.5 8.03.0279.005
Exchange Server 2007 SP3용 업데이트 롤업 8 2012년 8월 13일 8.3.279.3 8.03.0279.003
Exchange Server 2007 SP3용 업데이트 롤업 7 2012년 4월 16일 8.3.264.0 8.03.0264.000
Exchange Server 2007 SP3용 업데이트 롤업 6 2012년 1월 26일 8.3.245.2 8.03.0245.002
Exchange Server 2007 SP3용 업데이트 롤업 5 2011년 9월 21일 8.3.213.1 8.03.0213.001
Exchange Server 2007 SP3용 업데이트 롤업 4 2011년 5월 28일 8.3.192.1 8.03.0192.001
Exchange Server 2007 SP3용 업데이트 롤업 3-v2 2011년 3월 30일 8.3.159.2 8.03.0159.002
Exchange Server 2007 SP3용 업데이트 롤업 2 2010년 12월 10일 8.3.137.3 8.03.0137.003
Exchange Server 2007 SP3용 업데이트 롤업 1 2010년 9월 9일 8.3.106.2 8.03.0106.002
Exchange Server 2007 SP3 2010년 6월 7일 8.3.83.6 8.03.0083.006
       

Exchange Server 2007 이전 릴리스의 빌드 번호

 


EXCHANGE SERVER 2007 이전 릴리스의 빌드 번호제품 이름릴리스 날짜빌드 번호(짧은 형식)빌드 번호(긴 형식)

Exchange Server 2007 SP2용 업데이트 롤업 5 2010년 12월 7일 8.2.305.3 8.02.0305.003
Exchange Server 2007 SP2용 업데이트 롤업 4 2010년 4월 9일 8.2.254.0 8.02.0254.000
Exchange Server 2007 SP2용 업데이트 롤업 3 2010년 3월 17일 8.2.247.2 8.02.0247.002
Exchange Server 2007 SP2용 업데이트 롤업 2 2010년 1월 22일 8.2.234.1 8.02.0234.001
Exchange Server 2007 SP2용 업데이트 롤업 1 2009년 11월 19일 8.2.217.3 8.02.0217.003
Exchange Server 2007 SP2 2009년 8월 24일 8.2.176.2 8.02.0176.002
       
Exchange Server 2007 SP1용 업데이트 롤업 10 2010년 4월 13일 8.1.436.0 8.01.0436.000
Exchange Server 2007 SP1용 업데이트 롤업 9 2009년 7월 16일 8.1.393.1 8.01.0393.001
Exchange Server 2007 SP1용 업데이트 롤업 8 2009년 5월 19일 8.1.375.2 8.01.0375.002
Exchange Server 2007 SP1용 업데이트 롤업 7 2009년 3월 18일 8.1.359.2 8.01.0359.002
Exchange Server 2007 SP1용 업데이트 롤업 6 2009년 2월 10일 8.1.340.1 8.01.0340.001
Exchange Server 2007 SP1용 업데이트 롤업 5 2008년 11월 20일 8.1.336.1 8.01.0336.01
Exchange Server 2007 SP1용 업데이트 롤업 4 2008년 10월 7일 8.1.311.3 8.01.0311.003
Exchange Server 2007 SP1용 업데이트 롤업 3 2008년 7월 8일 8.1.291.2 8.01.0291.002
Exchange Server 2007 SP1용 업데이트 롤업 2 2008년 5월 9일 8.1.278.2 8.01.0278.002
Exchange Server 2007 SP1용 업데이트 롤업 1 2008년 2월 28일 8.1.263.1 8.01.0263.001
Exchange Server 2007 SP1 2007년 11월 29일 8.1.240.6 8.01.0240.006
       
Exchange Server 2007용 업데이트 롤업 7 2008년 7월 8일 8.0.813.0 8.00.0813.000
Exchange Server 2007용 업데이트 롤업 6 2008년 2월 21일 8.0.783.2 8.00.0783.002
Exchange Server 2007용 업데이트 롤업 5 2007년 10월 25일 8.0.754.0 8.00.0754.000
Exchange Server 2007용 업데이트 롤업 4 2007년 8월 23일 8.0.744.0 8.00.0744.000
Exchange Server 2007용 업데이트 롤업 3 2007년 6월 28일 8.0.730.1 8.00.0730.001
Exchange Server 2007용 업데이트 롤업 2 2007년 5월 8일 8.0.711.2 8.00.0711.002
Exchange Server 2007용 업데이트 롤업 1 2007년 4월 17일 8.0.708.3 8.00.0708.003
Exchange Server 2007 RTM 2007년 3월 8일 8.0.685.25 8.00.0685.025
       

Exchange Server 2003

다음 표에는 각 Microsoft Exchange Server 2003 버전의 빌드 번호와 일반적인 릴리스 날짜가 나열되어 있습니다. Exchange Server 2003의 빌드 번호를 보려면 서버 개체의 속성 대화 상자를 엽니다.

 


EXCHANGE SERVER 2003제품 이름릴리스 날짜빌드 번호

Exchange Server 2003 SP2 이후 2008년 8월 6.5.7654.4
Exchange Server 2003 SP2 이후 2008년 3월 6.5.7653.33
Exchange Server 2003 SP2 2005년 10월 19일 6.5.7683
Exchange Server 2003 SP1 2004년 5월 25일 6.5.7226
Exchange Server 2003 2003년 9월 28일 6.5.6944
     

Exchange 2000 Server

다음 표에는 각 Microsoft Exchange 2000 Server 버전의 빌드 번호와 일반적인 릴리스 날짜가 나열되어 있습니다. Exchange 2000 Server의 빌드 번호를 보려면 서버 개체의 속성 대화 상자를 엽니다.

 


EXCHANGE 2000 SERVER제품 이름릴리스 날짜빌드 번호

Exchange 2000 Server SP3 이후 2008년 8월 6.0.6620.7
Exchange 2000 Server SP3 이후 2008년 3월 6.0.6620.5
Exchange 2000 Server SP3 이후 2004년 8월 6.0.6603
Exchange 2000 Server SP3 이후 2004년 4월 6.0.6556
Exchange 2000 Server SP3 이후 2003년 9월 6.0.6487
Exchange 2000 Server SP3 2002년 7월 18일 6.0.6249
Exchange 2000 Server SP2 2001년 11월 29일 6.0.5762
Exchange 2000 Server SP1 2001년 6월 21일 6.0.4712
Exchange 2000 Server 2000년 11월 29일 6.0.4417
     

Exchange Server 5.5

다음 표에는 각 Microsoft Exchange Server버전 5.5의 빌드 번호와 일반적인 릴리스 날짜가 나열되어 있습니다.

 


EXCHANGE SERVER 5.5제품 이름릴리스 날짜빌드 번호

Exchange Server 버전 5.5 SP4 2000년 11월 1일 5.5.2653
Exchange Server 버전 5.5 SP3 1999년 9월 9일 5.5.2650
Exchange Server 버전 5.5 SP2 1998년 12월 23일 5.5.2448
Exchange Server 버전 5.5 SP1 1998년 8월 5일 5.5.2232
Exchange Server 버전 5.5 1998년 2월 3일 5.5.1960
     

Exchange Server 5.0

 


EXCHANGE SERVER 5.0제품 이름릴리스 날짜빌드 번호

Exchange Server 5.0 SP2 1998년 2월 19일 5.0.1460
Exchange Server 5.0 SP1 1997년 6월 18일 5.0.1458
Exchange Server 5.0 1997년 5월 23일 5.0.1457
     

Exchange Server 4.0

다음 표에는 각 Microsoft Exchange Server 4.0 버전의 빌드 번호와 일반적인 릴리스 날짜가 나열되어 있습니다.

 


EXCHANGE SERVER 4.0제품 이름릴리스 날짜빌드 번호

Exchange Server 4.0 SP5 1998년 5월 5일 4.0.996
Exchange Server 4.0 SP4 1997년 3월 28일 4.0.995
Exchange Server 4.0 SP3 1996년 10월 29일 4.0.994
Exchange Server 4.0 SP2 1996년 7월 19일 4.0.993
Exchange Server 4.0 SP1 1996년 5월 1일 4.0.838
Exchange Server 4.0 Standard Edition 1996년 6월 11일 4.0.837
     

본글은 PHPSCHOOL 오랜만에 들어갔다가 Tip&Tech에 유용해 보이는 정보가 있어 일단 스크랩 목적으로 글을 가져와 봅니다.

자세한 글이나, 댓글들을 보실려면 출처로 들어가 확인해보시길 추천합니다.

 

 

 

출처 : 구글드라이브를 이용한 OCR 기능(PHP) (https://phpschool.com/link/tipntech/82695)

=====================================

 

 

<?php 
// 제가 사용하는 서버의 PHP가 구닥다리 5.2라서 
// https://github.com/alchemy-fr/google-plus-api-client 여기에서 가져왔음
include "libraries/google_api/Google_Client.php";
include "libraries/google_api/contrib/Google_DriveService.php";
 
$client = new Google_Client();
$client->setClientId('XXXXXXXXXX.apps.googleusercontent.com');
$client->setClientSecret('XXXXXXXXXXXX');
$client->setRedirectUri('https://XXXXXXXXX/google_drive/google_drive.php');
     
$scope = array(
    'https://www.googleapis.com/auth/drive',
    'https://www.googleapis.com/auth/drive.readonly.metadata',
    'https://www.googleapis.com/auth/drive.file',
    'https://www.googleapis.com/auth/drive.appdata',
    'https://www.googleapis.com/auth/drive.scripts',
    'https://www.googleapis.com/auth/drive.metadata',
    'https://www.googleapis.com/auth/spreadsheets',
);
 
$client->setScopes($scope);
$client->setAccessType('offline');
 
// auth 토큰 유지 로직 시작 - 토큰 가져오기 방법은 각자 알아서 하세요~
// (https://github.com/googleapis/google-api-php-client 예제가 있음)
$hostname = "XXXXX";
$username = "XXXX";
$userpass = "XXXXXXX";
$dbname = "XXXXX";
$connect = mysqli_connect($hostname, $username, $userpass, $dbname);
 
/**
CREATE TABLE token2 (
  seq INT(11) NOT NULL AUTO_INCREMENT,
  type VARCHAR(255) DEFAULT NULL,
  token TEXT DEFAULT NULL,
  PRIMARY KEY (seq)
)
*/
 
$tokenquery="SELECT * FROM token2 WHERE type='original'";
$tokenresult = mysqli_query($connect,$tokenquery);
$tokenrow=mysqli_fetch_assoc($tokenresult);
 
if($tokenrow) {
  extract($tokenrow);
}
$time_created = json_decode($token)->created;
$t=time();
$timediff=$t-$time_created;
$refreshToken = json_decode($token)->refresh_token;
 
if(($timediff>360)&&($token!=''))
{
  $refreshquery="SELECT * FROM token2 WHERE type='refresh'";
  $refreshresult = mysqli_query($connect,$refreshquery);
  $refreshrow=mysqli_fetch_assoc($refreshresult);
   
  if($refreshrow)
  {
    extract($refreshrow);
    $refresh_created = json_decode($token)->created;
    $refreshtimediff=$t-$refresh_created;
    if($refreshtimediff>3600)
    {
      $client->refreshToken($refreshToken);
      $newtoken=$client->getAccessToken();
      $tokenupdate="UPDATE token2 SET token='$newtoken' WHERE type='refresh'";
      mysqli_query($connect,$tokenupdate);
      $token=$newtoken;
    }
    else
    {
      $client->setAccessToken($token);
    }
  }
  else
  {
    $client->refreshToken($refreshToken);
    $newtoken=$client->getAccessToken();
    $tokenupdate="INSERT INTO token2 (type,token) VALUES ('refresh','$newtoken')";
    mysqli_query($connect,$tokenupdate);
    $token=$newtoken;
  }
}
 
//if token is still good.
if(($timediff<3600)&&($token!=''))
{
  $client->setAccessToken($token); 
}
 
mysqli_close($connect);
// 여기까지 auth 토큰 유지 로직
 
$drive = new Google_DriveService($client);
// 업로드할 파일명
$filename = './PICK.pdf_page_1.jpg';
 
// 업로드할 파일의 상세정보
$title = 'test'; // 파일명
$filedata = file_get_contents($filename);
$size = getimagesize($filename);
$mimeType = $size['mime'];
$imgfile = new Google_DriveFile();
$imgfile->setTitle($title);
$imgfile->setMimeType($mimeType);
 
// 드라이브에 올림
$createdFile = $drive->files->insert($imgfile, array(
    'ocr' => true,
    'ocrLanguage' => 'kr',
    'data' => $filedata,
    'mimeType' => $mimeType,
));
 
$req = new Google_HttpRequest($createdFile->exportLinks['text/plain']);
$val = $client->getIo()->authenticatedRequest($req);
$response = $val->getResponseBody(); 
// Temporary Redirect The document has moved here. 페이지이므로 href만 가져온다
preg_match('/href=(["\'])([^\1]*)\1/i', $response, $m);
 
$req = new Google_HttpRequest($m[2]);
$val = $client->getIo()->authenticatedRequest($req);
// html태그랑 스타일 모두 제거
$response = strip_tags(preg_replace('~\<style(.*)\>(.*)\<\/style\>~', '', $val->getResponseBody()),'<p>');
 
// 처리가 완료된 파일은 삭제. 삭제 안하면 계속 누적되어 보기에 안 좋음
$drive->files->delete($createdFile->id);
 
echo nl2br($response);
?>

※ PHPSCHOOL 및 작성글에 CC정보가 없어 복사는 해왔으나 문제가 될 경우 삭제하겠습니다.

웹을 가끔 하다보면, 새로고침해도 제대로 반영되지 않는 경우 "Ctrl + F5"로 갱신하거나,

아래 코딩맛집님의 글을 보시고 해당 페이지에 코딩해주시면 됩니다.

가끔 웹 유지관리하다가 필요하여 글을 복사하여 둡니다.

 

PHP

<?php
//error_reporting(E_ALL ^ E_NOTICE);
// W3C P3P 규약설정
@header ("P3P : CP=\"ALL CURa ADMa DEVa TAIa OUR BUS IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC OTC\"");
//@header("Expires: 0");
@header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
@header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
@header("Cache-Control: no-store, no-cache, must-revalidate");
@header("Cache-Control: post-check=0, pre-check=0", false);
@header("Pragma: no-cache");

//Session 설정
//@session_cache_limiter('no-cache, must-revalidate');
//@session_start();
?>

 

출처: https://coding-restaurant.tistory.com/339 [코딩맛집]=====================================

로그아웃 후 뒤로가기 클릭 시 그대로 남아있는 캐시를 초기화하는 등에 쓸 수 있겠습니다.

 

html로 브라우저 캐시를 초기화하기 : 캐시를 사용하지 않도록 하는 메타태그 no-cahe

pragma : no-cache는 캐싱을 방지하는 메타태그입니다.Expires: -1는 캐시된 페이지를 즉시 만료합니다.

<meta http-equiv="Expires" content="Mon, 06 Jan 1990 00:00:01 GMT">
# 위의 명시된 날짜 이후가 되면 페이지가 캐싱되지 않습니다.
(따라서 위와 같은 날짜로 지정할 경우 페이지는 지속적으로 캐싱되지 않습니다.)
<meta http-equiv="Expires" content="-1">
# 캐시된 페이지가 만료되어 삭제되는 시간을 정의합니다. 특별한 경우가 아니면 -1로 설정합니다.
<meta http-equiv="Pragma" content="no-cache">
# 페이지 로드시마다 페이지를 캐싱하지 않습니다. (HTTP 1.0)
<meta http-equiv="Cache-Control" content="no-cache">
# 페이지 로드시마다 페이지를 캐싱하지 않습니다. (HTTP 1.1)


출처: https://coding-restaurant.tistory.com/339 [코딩맛집]

 

void SetMultiSelectMode(GridView view, DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode multiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CheckBoxRowSelect) {
	view.OptionsSelection.MultiSelectMode = multiSelectMode;
}

string GetSelectedRows(GridView view) {
	//출처 : DevExpress - "Demo Center 19.2" / WinForms Demos / Data Grid and Editors / UI CUSTOMIZATION / Cell Selection 
    string ret = "";
    int rowIndex = -1;
    if(view.OptionsSelection.MultiSelectMode != GridMultiSelectMode.CellSelect) {
        foreach(int i in gridView1.GetSelectedRows()) {
            DataRow row = gridView1.GetDataRow(i);
            if(ret != "") ret += "\r\n";
            ret += string.Format("{2}: {0} (#{1})", row["CompanyName"], i, Properties.Resources.CompanyName);
        }
    }
    else {
        foreach(GridCell cell in view.GetSelectedCells()) {
            if(rowIndex != cell.RowHandle) {
                if(ret != "") ret += "\r\n";
                ret += string.Format("{1}: #{0}", cell.RowHandle, Properties.Resources.Row);
            }
            ret += "\r\n    " + view.GetRowCellDisplayText(cell.RowHandle, cell.Column);
            rowIndex = cell.RowHandle;
        }
    }
    return ret;
}

 

--//Oracle 11.2.0 for Windows 버전 기준
--//SYSDBA로 접속 ex) C:\>SQLPLUS "/as sysdba"
--//이하 SQL-Plus : SQL>

@"C:\oracle\product\11.2.0\dbhome_1\sqlplus\admin\plustrce.sql"

grant plustrace to [사용자];

--//=======================================

conn [사용자]/[패스워드];
@"C:\oracle\product\11.2.0\dbhome_1\rdbms\admin\utlxplan.sql"

--//PLAN 확인
set linesize 120;
set autot on;
select * from tab where rownum=1;

 

======================================================

 

AUTOTRACE 주요 명령어

명령 수행 결과 실행 계획 실행 통계 plustrace 권한 여부
set autotrace on O O O O
set autotrace on explain O O X X
set autotrace on statistics O X O O
set autotrace traceonly X O O O
set autotrace traceonly explain X O X X
set autotrace traceonly statistics X X O O

참조 : https://coding-factory.tistory.com/745

// variable to store whether document has been opened already or not
var bAlreadyOpened;

function docOpened()
{

	if(bAlreadyOpened != "true")
	{
		// document has just been opened
		var d = new Date();
		var sDate = util.printd("mm/dd/yyyy", d);

                // set date now
                app.alert("About to insert date into field now");
		this.getField("todaysDate").value = sDate;

		// now set bAlreadyOpened to true so it doesn’t
		// run again
bAlreadyOpened = "true";
	}
	else
	{
		// document has already been opened
	}
}

// call the docOpened() function
docOpened();

ppjslc_commonex_3.pdf
0.08MB

출처 : Example Acrobat JavaScripts – Planet PDF

/********************************
RSCivilTools by Andrew Binning
Version 01, 2-15-2012
********************************/
//Some code by:
// InDesign Fixups by Dave Merchant  - Creative Commons Share-alike license
// version 02, November 2010
// http://www.uvsar.com/go/indesignfixups

//create new submenu for the Acrobat 8/9 or X menus
//Determine version, assign menu location
var menuParent = (app.viewerVersion<10)? "DocumentProcessing":"Edit";
//Add the menu
app.addSubMenu({ cName:"RSCivilTools", cUser:"RSCivil Tools", cParent:menuParent, nPos:((app.viewerVersion<10)? 0:7) });
//Create a nested layer (tailored code for my specific Document.
app.addMenuItem({ cName:"RSCcreateNest", cUser:"Create Nest", cParent:"RSCivilTools", 
          cExec:"createNest();",
          cEnable:"event.rc = (event.target != null);", nPos:0 });
//Promote sub layers - Unravel the nests
app.addMenuItem({ cName:"RSCpromote", cUser:"Undo Nest", cParent:"RSCivilTools",
          cExec:"promoteOCG_handler(event.target);",
          cEnable:"event.rc = (event.target != null);", nPos:1 });
//Unlist Guides and Grids layer (from Adobe IN-Design)
app.addMenuItem({ cName:"RSCremGAG", cUser:"Unlist 'Guides and Grids'", cParent:"RSCivilTools",
          cExec:"removeGAG(event.target);",
          cEnable:"event.rc = (event.target != null);", nPos:2 });
//Set up layers ( this is tailored code for my specific Document)
app.addMenuItem({ cName:"RSCsetStates", cUser:"Set Layers", cParent:"RSCivilTools",
          cExec:"setStates();",
          cEnable:"event.rc = (event.target != null);", nPos:3 });
//Toggle this list of layers on and off (tailored code for my specific Document.
app.addMenuItem({ cName:"RSCtoggleCityLimits", cUser:"Toggle City Limits", cParent:"RSCivilTools",
          cExec:"toggleCityLimits();",
          cEnable:"event.rc = (event.target != null);", nPos:4 });
//Link to the company website         
app.addMenuItem({ cName:"RSCsite", cUser:"Website", cParent:"RSCivilTools", 
          cExec:"app.launchURL('http://rscivil.com');", nPos:5 });

//Add a button for this function - Add from Quick Tools 3rd party addons
app.addToolButton({
        cName: "RSCcreateNestButton",
        cExec: "createNest();",
        cTooltext: "Create Nest",
        cEnable: true,
        nPos: 0,
        cLabel: "Create Nest"
        })
//Add a button for this function - Add from Quick Tools 3rd party addons
app.addToolButton({
        cName: "promoteLayers",
        cExec: "promoteOCG_handler(event.target);",
        cTooltext: "Undo Nest",
        cEnable: true,
        nPos: 1,
        cLabel: "Undo Nest"

        })

//Creates a nested layer from a predetermined list
function createNest(){
    var layers = this.getOCGs();
    var newOrder = new Array();
    var cityLimits = new Array();
    var comps = new Array();

    /*******************************************************
    This is where I need help.
    By not setting the first element to a String it does not name the group. Instead it seems to attach it as a child to the previous element in the array.
    This is fine, except that when you turn off said parent it does not turn off the sub layers/OCGs.
    If I could figure out how to create an object and set it up as an element before my inserted array it might help.
    *******************************************************/
    //Commented for testing - Set first element of the array to a descriptive string (this will be the name of the nested group) 
    //cityLimits[0] = "City Limits";
    //Set first element of the array to a descriptive string (this will be the name of the nested group)
    comps[0] = "Comps";

    //Separate all layers/OCGs containing "CityLimits|" or "COMP" from the original list of layers/OCGs
    for (var i=0,j=0,k=0,l=1; i<layers.length; i++){
        if(layers[i].name.substr(0,11)==="CityLimits|"){
            cityLimits[j] = layers[i];  //separate CityLimits OCG
            j++;
        }
        else if(layers[i].name.substr(0,4)==="COMP"){
            comps[l] = layers[i];   //separate COMP OCG
            l++;
        }
        else{
            newOrder[k] = layers[i];    //cram everything else into a new array
            k++;
        }
    }
    //Insert the cityLimits array into the newOrder array at position 5, do not remove any elements (the element before this arbitrarily becomes the parent, but does not work correctly)
    newOrder.splice(5,0,cityLimits);
    //Append the comps array to the end of the newOrder array
    newOrder[newOrder.length] = comps;
    //set the newOrder array as the OCGOrder.
    this.setOCGOrder(newOrder);
}
//Code by Dave Merchant
//Handler for promoting OCGs out of nested layers
function promoteOCG_handler(oDoc) {

  var ocgOrder = oDoc.getOCGOrder();
  var hasNest = false;

  if (ocgOrder==null) {
    app.alert( "No layers in current file", 0, 0, "Cannot proceed");
  } else {
    for (var i=0; i<ocgOrder.length; i++) {
       if ((typeof(ocgOrder[i]) == "object") && (ocgOrder[i].length > 0)) hasNest = true;
    }
    if (hasNest)  {
      promoteOCGs(oDoc,ocgOrder);
    } else app.alert( "No nested layers in current file", 0, 0, "Cannot proceed");
  }
}
//Code by Dave Merchant
//Promote/unravel layers/OCG out of nests
function promoteOCGs(oDoc,ocgOrder) {

  // Removes the top-level OCG nest structure from a PDF, promoting all sub-OCGs to the top level.
  // Used to remove the nesting created when a PDF is exported from InDesign with "Create Acrobat Layers" checked.


  var oChk = { cMsg:"Unlist the 'Guides and Grids' layer?", bInitialValue:true, bAfterValue:false};

  //var cMesg = "This action will ungroup all nested layers. IT CANNOT BE UNDONE.\n\nDo you want to continue?";
  //var nRtn = app.alert({ cMsg:cMesg, nIcon:2, nType:2, cTitle:"Promote nested layers", oCheckbox:oChk});
  //if (nRtn == 4) {

    var newOrder = new Array();

    for (var i=0; i<ocgOrder.length; i++) {

     var oType = typeof(ocgOrder[i]);
     var oLeng = ocgOrder[i].length
     if ((oType == "object") && (oLeng > 0)) {      // it's a nest, do the promotions

        for (var j=0; j<oLeng; j++) {
           if ((typeof(ocgOrder[i][j]) == "object") && 
              (!oChk.bAfterValue || (ocgOrder[i][j].name != "Guides and Grids"))) newOrder.push(ocgOrder[i][j]);
        }

     } else if (!oChk.bAfterValue || (ocgOrder[i].name != "Guides and Grids")) newOrder.push(ocgOrder[i]);
    }
    oDoc.setOCGOrder( newOrder );
  //}
}


//Code by Dave Merchant
// Removes the listing for (sub)OCG named "Guides and Grids".
// Does NOT delete the layer, simply hides it from the sidebar display.
function removeGAG(oDoc) {
  var cMesg = "This action will unlist the 'Guides and Grids' layer from the sidebar but will NOT delete the ";
  cMesg += "layer itself. IT CANNOT BE UNDONE.\n\nDo you want to continue?";
  var nRtn = app.alert(cMesg, 2, 2, "Unlist 'Guides and Grids'");
  if (nRtn == 4) {

    var ocgOrder = oDoc.getOCGOrder();
    var newOrder = new Array();

    for (var i=0; i<ocgOrder.length; i++) {

     var oType = typeof(ocgOrder[i]);
     var oLeng = ocgOrder[i].length
     if ((oType == "object") && (oLeng > 0)) {      // it's a nest

        var subObj = new Array();
        for (var j=0; j<oLeng; j++) {
           if ((typeof(ocgOrder[i][j]) == "string") || (ocgOrder[i][j].name != "Guides and Grids")) subObj.push(ocgOrder[i][j]);
        }
        newOrder.push(subObj);

     } else if (ocgOrder[i].name != "Guides and Grids") newOrder.push(ocgOrder[i]);
    }
    oDoc.setOCGOrder( newOrder );
  }
}

//Just a list of layers I want to toggle on or off (document specific)
function togList(name){
    if(name.substr(0,11)==="CityLimits|")
        return true;
    return false;
}
//Just a list of layers I want to set an initial state to off (document specific)
function offList(name){
    var lOff =  new Array();
    lOff[0] = "ADT";
    lOff[1] = "CityLimits|1900";
    lOff[2] = "CityLimits|1910";
    lOff[3] = "CityLimits|1920";
    lOff[4] = "CityLimits|1930";
    lOff[5] = "CityLimits|1940";
    lOff[6] = "CityLimits|1950";
    lOff[7] = "CityLimits|1960";
    lOff[8] = "CityLimits|1970";
    lOff[9] = "CityLimits|1975";
    lOff[10] = "CityLimits|1980";
    lOff[11] = "CityLimits|1985";
    lOff[12] = "CityLimits|1990";
    lOff[13] = "CityLimits|1995";
    lOff[14] = "CityLimits|2000";
    lOff[15] = "CityLimits|2005";
    lOff[16] = "CityLimits|2006";
    lOff[17] = "CityLimits|2007";
    lOff[18] = "CityLimits|2008";
    lOff[19] = "CityLimits|2009";
    lOff[20] = "CityLimits|2010";
    lOff[21] = "CityLimits|2011";
    lOff[29] = "Distance Circles 1";
    lOff[30] = "Distance Circles 2";
    lOff[31] = "landuse|Agriculture";
    lOff[32] = "landuse|Industrial";
    lOff[33] = "Landmark Labels Locations";
    lOff[34] = "landmarks|Locations";

    for (var i=0; i<lOff.length; i++){
        if(lOff[i] === name)
            return true;
    }
    return false;
}

//Checks all layers against a list and toggles them off or on (document specific)
function toggleCityLimits(){
   var layers = this.getOCGs();
    for (var i=0; i<layers.length; i++){
        var tog = true;
        if(togList(layers[i].name)){
            if(layers[i].state)
                tog = false;
            layers[i].state = tog; //toggle layer
        }
    }
}

//Checks all layers against a list and sets the initial state and current state to off (state=visibility) (document specific)
function setStates(){
   var layers = this.getOCGs();
    for (var i=0; i<layers.length; i++){
        var tog = true;
        if(offList(layers[i].name))
            tog = false;
        layers[i].state = tog;      //turn off layer
        layers[i].initState = tog;  //set initial visibilty to off
    }
}

출처 : http://www.uvsar.com/go/indesignfixups

syncAnnotScan();

var strFDF = exportAsFDFStr({bAllFields: 'true', bFlags: 'true', bAnnotations: 'true'});
//exportAsXFDFStr(true, true, null, true, 1);";

var strXFDF = exportAsXFDFStr(true, true, true, true, 1);
//exportAsXFDFStr(true, true, null, true, 1);

exportAsFDF({ bAnnotations: 'true', cPath: '/d/export.fdf'});


importAnFDF("/d/import.fdf");
importAnXFDF("/d/import.xfdf");
// Add navigation buttons to the page
// This script puts 3 buttons on top of every page (except the first one that has one button)
// First button "<" : takes to the previous page
// Second button: "1" : takes to the first page of the document
// Third button: ">" : takes to the next page in the document (does not exists on the last page)

var inch = 72;

try 
{

    nLastPage = this.numPages - 1;

    for (var p = 0; p < this.numPages; p++)
    {
        var x = 0.5;
 
        if (p > 0)
        {
            AddButton(p,x,0.5,0.25,0.25,"PrevPage","<","Previous Page","this.pageNum--;"); // left arrow, previous page
            x += 0.3;
        }
    
        if (p != 0)
        {
            AddButton(p,x,0.5,0.25,0.25,"StartPage","1","Go To First Page","this.pageNum=0;"); // "1", takes to the first page
            x += 0.3;
        }
    
        if (p < nLastPage)
        {
            AddButton(p,x,0.5,0.25,0.25,"NextPage",">","Next Page","this.pageNum++;"); // right arrow, next page
            x += 0.3;
        }

        AddButton(p,x,0.5,0.25,0.25,"Back","<<","Go Back","app.execMenuItem(\"GoBack\");"); // right arrow, next page
        x += 0.3;
        
    }

}


catch (e)
{
app.alert(e);
}

// AddButton function creates a button with given parameters and action

function AddButton(nPageNum, x, y, width, height, strText, strCaption, strToolTip, strAction)
{
    var aRect = this.getPageBox( { nPage: nPageNum} );
    aRect[0] += x * inch;
    aRect[1] -= y * inch;
    aRect[2] = aRect[0] + width * inch;
    aRect[3] = aRect[1] - height * inch;

    var f = this.addField(strText,"button", nPageNum, aRect);
    f.setAction("MouseUp",strAction);
    f.userName = strToolTip;
    f.delay = true;
    f.borderStyle = border.s;
    f.highlight = "push";
    f.textSize = 0; // autosized
    f.textColor = color.blue;
    f.strokeColor = color.blue;
    f.fillColor = color.white;
    // you can specify a different font here, otherwise it uses a default one
    //f.textFont = font.ZapfD;
    f.buttonSetCaption(strCaption); 
    f.delay = false;
}

 

출처 : https://www.evermap.com/javascript.asp

+ Recent posts