このページは、編集者向けのルール等をまとめたものです。
編集を始める前にすべて目を通してください。

基本的な編集方針

全体で共通

編集者向けメニューを除いて、文章はだ・である体で統一
適度な句読点・改行・漢字を用いて見やすい文章に
英数字は原則としてすべて半角(カード名や丸数字によるログコスト表記は例外)
不明瞭な記述や憶測による断定は書かない
ページ更新の際にはできるだけ、最終行にコメントで編集した部分の要約を記入

記号の扱い

全ページ共通で、記号は以下の通りに統一します。

ページ名とカード性能表以外でのログコスト表記は①②など丸付き数字
カード名は《》、カード名でページ名を作る場合は《》を含まない
二つ名は、そのページで初出の場合は記入してもよく、2回目以降はカード名のみ
商品名・カード名に含まれるスペースは全角で統一
バージョンは《弐式 神通力 雷火》や《Version2 ベリトの闇の鎧》のように表記
バージョンやサブエフェクト違いのカードは、初出のカードの子属性ページとして#include記法で表記
アビリティは『』
アビリティやサブエフェクトの効果量等は【】
追加コストは〈コスト:〉
Triggerアビリティの誘発条件は[]
タイミング表記は、総合ルールに従い「Ac」と「Re」のみ「」
他のタイミングは《》
強化、衰弱、刻印、サブエフェクトは「」
無制限アビリティの電源マークはΦ(全角大文字ファイ)
チェックコストの矢印マークは↷(↷ 記号は半角)
刻印マークは✥("アスタリスク"を変換キーで変換して下さい)
デッキ集に記載するデッキのアーキタイプは【】
商品名は「」で、エキスパンションはChapter○で表記
Mサイズユニットのカード名に含まれるⅡは《モナカ II》のようにII(大文字アイ2個)
カード名でリンクを作成する場合、《[[]]》とする(《》はリンクに含まない)

リンクの扱い

各ページにおいて、用語や俗語、カード名でリンクを作成する場合、以下の規則に従ってリンクを作成します。

そのページで初出の用語等ではリンクを作成する
2回目以降の用語等では、何らかの明確な理由がないかぎりリンクを作成しない
用語等を使っていても、リンク先の用語とは別の用途で使用されている場合は、初出であってもリンクを作成しない
(文脈を無視して盲目的にリンクを作成してはいけない)

include記法

行頭に#include(持ってくるページの名前,notitle)と記述することで、あるページに他のページの内容を持ってくることができます。
このinclude記法を利用することで、逆引きカードリストをwiki全体で使いまわしたり、特定のテンプレートを流用したりできます。

子属性

親にしたいページで「新規」を選び、作成するページ名を「./作成したいページ名」にすることで、子属性を持つページを作成できます。
子属性を持つページは「用語集/ユニット」のように、親ページに付属して扱われ、そのページが親ページに関連するページであることを明確にします。

各カテゴリーの説明

掲示板

編集に関わる諸々を取り扱う掲示板です。

SandBox

編集を練習するためのページです。

テンプレート

カードデータやデッキレシピなどを記述するテンプレートを保管するページです。
子属性ページとして、各ページに#includeするテンプレートを持ちます。

セット・スターター一覧

現在までに発売されたカードセットやスターターデッキ等をまとめるカテゴリーです。
「いつ発売されたか」「その商品でどのような要素が追加されたか」などを記述します。

ページ名は、エキスパンションは「Chapter1 神をも恐れぬ者たち」のように「Chapter○ (全角スペース)エキスパンション名」
スターターデッキは「スターターデッキ 紅蓮ノ劔」のように「スターターデッキ (全角スペース)デッキ名」で統一

カード個別評価

現在までに存在するカードすべてに対し、個別に解説を行うカテゴリーです。
各カードについて、その性能や用途、ルール上の注意点、神話の概要、関連カードなどを記述します。

「見たままのことだけ書いた記事にしない」
「短すぎる記事・酷評だけの記事にしない」
「編集内容には責任をもって、間違ったことを記事にしない」
「後から見ても誰が見ても誤解のない記事にする」
「個人の思想・思考に偏らず、普遍的な記事にする」

上記を心がけて編集してください。

関連項目の基準

関連項目としてカード名へのリンク作成や逆引きカードリストのincludeを行う場合、以下の基準で作成します。

相棒神格など、明確に関連があるカードは関連項目としてリンクを作成する。
サイズ違い同性能、コスト違い類似性能については、各カードごとに関連があるかを判断する
そのユニット固有のアビリティについては、アビリティの逆引きカードリストをincludeしない
逆引きカードリストに項目がないもの、あるいは記述がないものをincludeしない(includeする場合は自分で作ること)

逆引きカードリスト

サイクルを形成していたり、類似する点があったりするカードをまとめるカテゴリーです。
主に#include記法で引用するために利用します。

デッキ集

現在までに成立したデッキのアーキタイプを解説するカテゴリーです。
ショップ大会などで優勝したデッキレシピを掲載するのではなくアーキタイプとしての紹介にとどめ、デッキレシピはあくまでサンプルとして利用します。

ルール

ドレッドノートのルールやルール用語を解説するカテゴリーです。

用語集・俗語

様々な用語について解説するカテゴリーです。
ルール上あるいはデータ上存在する用語は「用語集」で、
コミュニティなどでのみ使用される、あるいは正式でない用語は「俗語」で、
それぞれ取り扱います。

ドレッドノートの歴史

ドレッドノートの商品・大規模大会の履歴や、優勝したデッキなどを紹介するカテゴリーです。
優勝デッキのレシピは、このページの子として作成し、#includeせず独自ページとして記述します。

リンク集

公式、非公式のドレッドノート関連リンクを紹介するカテゴリーです。
リンクの分類ごとに、このページの子として作成し、#include記法で記述します。

タイムスタンプの変更

「タイムスタンプを変更しない」チェックをONにすることで、「最近の20件」に表示されずにページを更新することが可能です。
以下のような些細な編集に際しては、この機能を利用することを推奨します。

誤字、脱字の修正
全角英数字の半角化
リンク記法の誤りの修正

一方、以下のような大きな編集に際しては、この機能を利用しないでください。

誤った情報やルーリングに基づく記述の訂正
新しい節や関連項目の追加
同名同性能別サブエフェクトなど、小さな変更点のあるカードの節の追加

また、更新個所は「差分」で辿ることが可能ですが、何段階もさかのぼって差分を確認するのは編集者の負担となります。
誤字脱字がないかなどは、編集段階で十分に注意してください。

# ACT TOOL EXTRACTION SCRIPT FOR MS SQL Database

# REVISION HISTORY:

# --------------------------------------------------------------------------------

# VERSION DATE AUTHOR ACTIVITY

# 15.0 12-March-2018 Achanta, Prakash SCRIPT CREATED

# 15.0.1 12-June-2018 Shashank Ramakrishna SCRIPT MODIFIED- depricated Compress-Archive to handle issues related to lower version PowerShell

# 07-July-2018 Achanta, Prakash SCRIPT MODIFIED- Updated ACTT_CONFIG_SETTING file to have DATE Extraction independent of the regional settings

# 07-July-2018 Shashank Ramakrishna SCRIPT MODIFIED- Updated ACTT_CONFIG_SETTING removed redundant $Extract_Script_Version under DATABASE_VERSION in ACTT_CONFIG_SETTING

# 07-July-2018 Shashank Ramakrishna SCRIPT MODIFIED- Updated ACTT_DATA.log file to document table extraction completion.

# 07-July-2018 Shashank Ramakrishna SCRIPT MODIFIED- Added Trim command to eliminate unnecessary leading and trailing spaces.

# 18-July-2018 Shashank Ramakrishna SCRIPT MODIFIED- Updated queries related to MSDB and Master databases and tables to have names in small letters.

# 18-July-2018 Shashank Ramakrishna SCRIPT MODIFIED- Implemented TableRecordCount file for each of the file extracted.

# 18-July-2018 Shashank Ramakrishna SCRIPT MODIFIED- Updated each BCP to handle space in database names

# 15.1 31-July-2018 Shashank Ramakrishna SCRIPT MODIFIED- Added separate extraction for sys.database_principals, sys.database_role_members, sys.sysusers, sys.database_permissions, sys.schemas, sys.objects from MASTER database

# 01-August-2018 Shashank Ramakrishna SCRIPT MODIFIED- Updated script to support instance level extraction

# 09-August-2018 Achanta, Prakash SCRIPT MODIFIED- Updated script to extract all date columns in a single format

# 10-August-2018 Shashank Ramakrishna SCRIPT MODIFIED- Updated script to display the list of databases available on the instance

# 13-August-2018 Shashank Ramakrishna SCRIPT MODIFIED- Updated script to extract Securable and Securable_description for table SYS.DATABASE_PERMISSIONS under file DB_SYS_DB_permissions

# 16-August-2018 Shashank Ramakrishna SCRIPT MODIFIED- Updated script to Validate the list of databases given as input with that of the available databases present on that instance

# 16.0 30-Jan-2019 Shashank Ramakrishna SCRIPT MODIFIED- Query updated for extraction of DB_SYS_DB_permissions to handle collation issue on MS SQL 2005. Keyword 'USE' removed

# 30-Jan-2019 Shashank Ramakrishna SCRIPT MODIFIED- Included extraction of quickfixes.actt, USERS.actt abd groupmembers.actt for extracting of patches installation

# 20-Feb-2019 Shashank Ramakrishna SCRIPT MODIFIED- Updated to Support Multi Instance extraction feature

# 16.1 02-July-2019 Shashank Ramakrishna SCRIPT MODIFIED- Script updated to handle the scenario when only master database is scoped for extraction

#

# NOTICE:

# -------------------------------------------------------------------------------

# The purpose of this “read only” script is to download data that can be analyzed as part of our audit.

# We expect that you will follow your company’s regular change management policies and procedures prior to running the script.

# To the extent permitted by law, regulation and our professional standards, this script is provided “as is,”

# without any warranty, and the Deloitte Network and its contractors will not be liable for any damages relating to this script or its use.

# As used herein, “we” and “our” refers to the Deloitte Network entity that provided the script to you, and the “Deloitte Network” refers to

# Deloitte Touche Tohmatsu Limited (“DTTL”), the member firms of DTTL, and each of their affiliates and related entities.

#

# © 2018. For more information, contact Deloitte Touche Tohmatsu Limited. All rights reserved.

# -------------------------------------------------------------------------------

# --------------------- ACTUAL SCRIPT BEGINS FROM HERE --------------------------

cls

#Extract Script Version
$Extract_Script_Version="16.1"
$psVersion = $PSVersionTable.PSVersion.Major
$OSVersion = wmic os get caption/value
$ComputerName = hostname

#########

Write-Host "ACTT Script for MS SQL database"
$InstanceList= ''
$InstanceList= Read-Host -Prompt "Enter the SQL Server Instance Names in comma(,) separated format"

Function Get-InstanceExtraction
{

	[CmdletBinding()]
	param (
		[Parameter(
				   Mandatory = $true)]
		[String]$Server
		)

$SERVERNAME= $Server
$schema = "dbo"

Write-Host "Please choose the mode of Authentication for below SQL Instance-"
Write-Host $SERVERNAME -ForegroundColor Green
Write-Host "Press 1 : If Windows Authentication is used,To bypass UserName and Password."
Write-Host "Press 2 : If SQL Authentication is used, To enter the User Name and Password."

$Choice= Read-Host -Prompt "Choice"

IF ($Choice -eq 1) {
$APPUSERSwitch=""
$APPPWDSwitch=""
$TRUSTEDSwitch="-T"
$OSQL_TRUSTEDSwitch="-E"
$TERMINATOR=","

$APPUSER=""
$APPPWD=""
}
ELSE{
IF($Choice -eq 2) {
$APPUSER= Read-Host -Prompt "Enter the User Name"
$Sec_Password= Read-Host -Prompt "Enter the Password" -AsSecureString
$APPPWD=[System.Runtime.InteropServices.marshal]::PtrToStringAuto([System.Runtime.InteropServices.marshal]::SecureStringToBSTR($Sec_Password))

$APPUSERSwitch="-U"
$APPPWDSwitch="-P"
$TRUSTEDSwitch=""
$TERMINATOR=""
}
ELSE {
Write-Host "Invalid Choice"
Exit
}

}

###########################################################################################################

$aUTH="-S $SERVERNAME -c $TRUSTEDSwitch $APPUSERSwitch $APPUSER $APPPWDSwitch $APPPWD -t*#*"
$aUTHDB="-S $SERVERNAME -c $TRUSTEDSwitch $APPUSERSwitch $APPUSER $APPPWDSwitch $APPPWD"

########################################################################################################################

$Path_L=Join-Path (Get-Location) "\$SERVERNAME"
$Path_ZipLOc=Join-Path (Get-Location) "\$SERVERNAME"
$Path_ZipLOc_target=Join-Path (Get-Location) "\$SERVERNAME\*.*"
$Path_D=Get-Location

# $Path = Join-Path (Get-Location) $global:Loop[$i]

# New-Item -Path $Path -Type Directory -Force | Out-Null
$errorMessage="Error please check the log file"
$global:Loop

If(!(test-path -Path $path_L))
{
New-Item -ItemType directory -Path $path_L > $null
}
$bcp10 = "bcp 'select name from master.sys.databases' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTHDB"
Invoke-Expression $bcp10 >$null
Write-Host "Below Databases are available on this instance" -ForegroundColor Green
$DBList= Get-Content -Path .\$SERVERNAME\TempData.actt
Remove-Item .\$SERVERNAME\TempData.actt
ForEach ($DBName in $DBList)
{

	Write-Host $DBName -ForegroundColor Green

}

Function Get-DatabaseNames
{

	$global:Loop=''
	$global:Loop=(Read-Host "Enter the Database Names to be analyzed in comma(,) separated format")
	$global:Loop=$global:Loop + ' '
	$global:Loop=$global:Loop.Split(',') + 'master'
	$global:Loop=$global:Loop | sort-object | Get-Unique 
	
	ForEach ($InputDB in $global:Loop)
	{
		if($DBList.Contains($InputDB.Trim()) -eq $false)
		{
			Write-Host "The below database does not exist on this instance" -ForegroundColor Red
			Write-Host $InputDB -ForegroundColor Red -BackgroundColor white
			Write-Host "Please re-run the sript with Valid Database name(Case Sensitive)"
			Read-Host 
			Remove-Item -Recurse -Force $Path_L
			Exit 0
		}
	}
	

}
Get-DatabaseNames

Write-Host "Extracting table data"

#$bcp1 = "bcp 'SELECT *#*' QUERYOUT .\$DBNAME_MAP\ACTT_CONFIG_FIELDTERMINATOR.actt $aUTH"

#Invoke-Expression $bcp1
Write-output "*#*" | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\ACTT_CONFIG_FIELDTERMINATOR.actt"

####

#ACTT_CONFIG_SETTINGS.ACTT
Write-output "SettingName VARCHAR(100)*#*SettingValue VARCHAR(max)" | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\ACTT_CONFIG_SETTINGS.actt"

$bcp1_2 = "bcp 'SELECT DATABASE_VERSION+*#*+Substring(@@version,1,charindex(-,@@version))+ +cast(SERVERPROPERTY(Edition) as varchar(100))+ +Release +cast(SERVERPROPERTY(ProductVersion) as varchar(50))' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcp1_2
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_SETTINGS.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp1_3 = "bcp 'Select Data Extraction Date*#*+CONVERT(varchar(10), getdate(), 101)' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcp1_3
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_SETTINGS.actt
Remove-Item .\$SERVERNAME\TempData.actt

#Write-output "Data Extraction Date*#*$*1" | out-file -append -encoding ASCII -filepath ".\$DBNAME_MAP\ACTT_CONFIG_SETTINGS.actt"
Write-output "Extract Script Version*#*$($Extract_Script_Version)" | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\ACTT_CONFIG_SETTINGS.actt"

#Write-output "DATABASE_VERSION*#*$($Extract_Script_Version)" | out-file -append -encoding ASCII -filepath ".\$DBNAME_MAP\ACTT_CONFIG_SETTINGS.actt"
Write-output "PowerShell Version*#*$($psVersion)" | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\ACTT_CONFIG_SETTINGS.actt"
Write-output "Operating System*#*$($OSVersion)" | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\ACTT_CONFIG_SETTINGS.actt"
Write-output "Computer Name*#*$($ComputerName)" | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\ACTT_CONFIG_SETTINGS.actt"
Write-output "SQLServer Instance*#*$($SERVERNAME)" | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\ACTT_CONFIG_SETTINGS.actt"
Write-output "Extract Application Version*#*ACTT MSSQL" | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\ACTT_CONFIG_SETTINGS.actt"
Write-output "Database Name*#*$($global:Loop)" | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\ACTT_CONFIG_SETTINGS.actt"

####
Write-output "Scoped Databases are $($global:Loop)" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

#TableRecordCount Initiation
Write-output "TableName VARCHAR(1000)*#*RecordCount VARCHAR(MAX)" | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt"

$bcp2 = "bcp 'SELECT ComputerNamePhysicalNetBIOS NVARCHAR(128)*#*EngineEdition NVARCHAR(128)*#*InstanceName NVARCHAR(128)*#*IsIntegratedSecurityOnly NVARCHAR(128)*#*MachineName' QUERYOUT .\'$SERVERNAME'\ServerProperty.actt $aUTH"
Invoke-Expression $bcp2
$bcp2 = "bcp 'SELECT SERVERPROPERTY(ComputerNamePhysicalNetBIOS) AS [ComputerNamePhysicalNetBIOS], SERVERPROPERTY(EngineEdition) AS [EngineEdition], SERVERPROPERTY(InstanceName) AS [InstanceName], SERVERPROPERTY(IsIntegratedSecurityOnly) AS [IsIntegratedSecurityOnly], SERVERPROPERTY(MachineName) AS [MachineName]' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp2 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp2
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\ServerProperty.actt"
	Write-output "--------------------------------------ServerProperty extraction Failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------ServerProperty extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ServerProperty.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp3 = "bcp 'SELECT NAME NVARCHAR(max)*#*SID varbinary(85)*#*PRINCIPAL_ID INT*#*TYPE_DESC nvarchar(60)*#*IS_DISABLED BIT*#*CREATE_DATE datetime*#*MODIFY_DATE datetime*#*PasswordLastSetTime Datetime*#*IS_POLICY_CHECKED bit*#*IS_EXPIRATION_CHECKED bit*#*BlankPassword Varchar(20)' QUERYOUT .\'$SERVERNAME'\SYSSQL_LOGINS.actt $aUTH"
Invoke-Expression $bcp3
$bcp3 = "bcp 'SELECT Name, SID, PRINCIPAL_ID, TYPE_DESC, IS_DISABLED, CONVERT(VARCHAR, CREATE_DATE, 120) CREATE_DATE,CONVERT(VARCHAR, MODIFY_DATE, 120) MODIFY_DATE,CONVERT(VARCHAR, LOGINPROPERTY(name,PasswordLastSetTime),120) as [PasswordLastSetTime], IS_POLICY_CHECKED, IS_EXPIRATION_CHECKED, CASE when (PWDCOMPARE('',password_hash)=1) then Yes Else No'' End as [Blank Password?] FROM master.sys.sql_logins' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp3 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp3
If (!$Err)

	{
		Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\SYSSQL_LOGINS.ACTT"
		Write-output "--------------------------------------SYSSQL_LOGINS extraction Failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
	}

else

	{
		Write-output "--------------------------------------SYSSQL_LOGINS extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
	}

gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\SYSSQL_LOGINS.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT SYSSQL_LOGINS, COUNT(*) FROM master.sys.sql_logins' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp4 = "bcp 'SELECT SID varbinary(85)*#*STATUS smallint*#*createdate datetime*#*updatedate datetime*#*accdate datetime*#*NAME NVarchar(256)*#*DBNAME NVarchar(256)*#*DENYLOGIN int*#*HASACCESS int*#*ISNTNAME int*#*ISNTGROUP int*#*ISNTUSER int*#*SYSADMIN int*#*SECURITYADMIN int*#*SERVERADMIN int*#*SETUPADMIN int*#*PROCESSADMIN int*#*DISKADMIN int*#*BULKADMIN int*#*loginname Nvarchar(256)' QUERYOUT .\'$SERVERNAME'\SYSSYSLOGINS.actt $aUTH"
Invoke-Expression $bcp4
$bcp4 = "bcp 'SELECT SID, STATUS, CONVERT(VARCHAR, createdate, 120)createdate, CONVERT(VARCHAR, updatedate, 120) updatedate,CONVERT(VARCHAR, accdate, 120) accdate, NAME, DBNAME, DENYLOGIN, HASACCESS, ISNTNAME, ISNTGROUP, ISNTUSER, SYSADMIN, SECURITYADMIN, SERVERADMIN, SETUPADMIN, PROCESSADMIN, DISKADMIN, BULKADMIN, loginname FROM master.sys.syslogins' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp4 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp4
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\SYSSYSLOGINS.ACTT"
	Write-output "--------------------------------------SYSSYSLOGINS extraction Failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------SYSSYSLOGINS extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\SYSSYSLOGINS.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT SYSSYSLOGINS, COUNT(*) FROM master.sys.syslogins' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp5 = "bcp 'select name Nvarchar(256)*#*principal_id int*#*sid Varbinary(85)*#*type_desc Nvarchar(60)*#*is_disabled bit*#*create_date datetime*#*modify_date datetime*#*PasswordLastSetTime Nvarchar(256)*#*default_database_name Nvarchar(256)' QUERYOUT .\'$SERVERNAME'\m_sys_server_principals.actt $aUTH"
Invoke-Expression $bcp5
$bcp5 = "bcp 'select name, principal_id, sid, type_desc, is_disabled,CONVERT(VARCHAR, create_date, 120) create_date,CONVERT(VARCHAR, modify_date, 120) modify_date, LOGINPROPERTY(name,PasswordLastSetTime) as [PasswordLastSetTime], default_database_name from master.sys.server_principals' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp5 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp5
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\m_sys_server_principals.actt"
	Write-output "--------------------------------------m_sys_server_principals extraction Failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------m_sys_server_principals extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\m_sys_server_principals.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT m_sys_server_principals, COUNT(*) FROM master.sys.server_principals' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp6 = "bcp 'select permission_name Nvarchar(128)*#*class_desc nvarchar(60)*#*class tinyint*#*state_desc nvarchar(60)*#*grantee_principal_id int*#*type char(4)*#*major_id int*#*minor_id int' QUERYOUT .\'$SERVERNAME'\m_sys_server_permissions.actt $aUTH"
Invoke-Expression $bcp6
$bcp6 = "bcp 'select permission_name, class_desc, class, state_desc, grantee_principal_id, type, major_id, minor_id from master.sys.server_permissions' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp6 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp6
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\m_sys_server_permissions.actt"
	Write-output "--------------------------------------m_sys_server_permissions extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------m_sys_server_permissions extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\m_sys_server_permissions.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT m_sys_server_permissions, COUNT(*) FROM master.sys.server_permissions' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp10 = "bcp 'select name nvarchar(128)*#*owner_sid varbinary(max)*#*create_date datetime' QUERYOUT .\'$SERVERNAME'\master_sys_databases.actt $aUTH"
Invoke-Expression $bcp10
$bcp10 = "bcp 'select name, owner_sid,CONVERT(VARCHAR, create_date, 120) create_date from master.sys.databases' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp10 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp10
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\master_sys_databases.actt"
	Write-output "--------------------------------------master_sys_databases extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------master_sys_databases extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\master_sys_databases.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT master_sys_databases, COUNT(*) FROM master.sys.databases' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp11 = "bcp 'select job_id uniqueidentifier*#*step_name varchar(1000)*#*step_id int*#*run_status int*#*run_date int*#*run_time int*#*message nvarchar(max)*#*server varchar(1000)' QUERYOUT .\'$SERVERNAME'\msdb_dbo_sysjobhistory.actt $aUTH"
Invoke-Expression $bcp11
$bcp11 = "bcp 'select job_id, step_name, step_id, run_status, CONVERT(VARCHAR(10), run_date, 120) run_date, run_time, message, server from msdb.dbo.sysjobhistory' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp11 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp11
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\msdb_dbo_sysjobhistory.actt"
	Write-output "--------------------------------------msdb_dbo_sysjobhistory extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------msdb_dbo_sysjobhistory extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\msdb_dbo_sysjobhistory.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT msdb_dbo_sysjobhistory, COUNT(*) FROM msdb.dbo.sysjobhistory' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp12 = "bcp 'select ROLE_PRINCIPAL_ID INT*#*MEMBER_PRINCIPAL_ID INT' QUERYOUT .\'$SERVERNAME'\sysserver_role_members.actt $aUTH"
Invoke-Expression $bcp12
$bcp12 = "bcp 'select ROLE_PRINCIPAL_ID, MEMBER_PRINCIPAL_ID from master.sys.server_role_members' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp12 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp12
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\sysserver_role_members.actt"
	Write-output "--------------------------------------sysserver_role_members extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------sysserver_role_members extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\sysserver_role_members.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT sysserver_role_members, COUNT(*) FROM master.sys.server_role_members' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp16 = "bcp 'select ROLE_PRINCIPAL_ID INT*#*MEMBER_PRINCIPAL_ID INT' QUERYOUT .\'$SERVERNAME'\MSDB_sys_database_role_members.actt $aUTH"
Invoke-Expression $bcp16
$bcp16 = "bcp 'select ROLE_PRINCIPAL_ID, MEMBER_PRINCIPAL_ID from msdb.sys.database_role_members' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp16 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp16
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\MSDB_sys_database_role_members.actt"
	Write-output "--------------------------------------MSDB_sys_database_role_members extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------MSDB_sys_database_role_members extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\MSDB_sys_database_role_members.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT MSDB_sys_database_role_members, COUNT(*) FROM msdb.sys.database_role_members' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp17 = "bcp 'select principal_id int*#*sid varbinary(85)*#*modify_date datetime*#*create_date datetime*#*type_desc nvarchar(128)*#*name Nvarchar(256)' QUERYOUT .\'$SERVERNAME'\MSDB_sys_DB_principals.actt $aUTH"
Invoke-Expression $bcp17
$bcp17 = "bcp 'select principal_id, sid,CONVERT(VARCHAR, modify_date, 120) modify_date, create_date, type_desc, name from msdb.sys.database_principals' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp17 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp17
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\MSDB_sys_DB_principals.actt"
	Write-output "--------------------------------------MSDB_sys_DB_principals extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------MSDB_sys_DB_principals extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\MSDB_sys_DB_principals.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT MSDB_sys_DB_principals, COUNT(*) FROM msdb.sys.database_principals' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp18 = "bcp 'SELECT uid smallint*#*islogin int*#*hasdbaccess int*#*name nVARCHAR(256)*#*sid varbinary(85)*#*createdate datetime*#*updatedate datetime*#*isntgroup int*#*isntname int*#*isntuser int*#*isaliased int*#*issqlrole int' QUERYOUT .\'$SERVERNAME'\MSDB_SYSUSER.actt $aUTH"
Invoke-Expression $bcp18
$bcp18 = "bcp 'SELECT uid, islogin, hasdbaccess, name, sid,CONVERT(VARCHAR, createdate, 120) createdate,CONVERT(VARCHAR, updatedate, 120) updatedate, isntgroup, isntname, isntuser, isaliased, issqlrole from msdb.sys.sysusers' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp18 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp18
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\MSDB_SYSUSER.actt"
	Write-output "--------------------------------------MSDB_SYSUSER extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------MSDB_SYSUSER extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\MSDB_SYSUSER.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT MSDB_SYSUSER, COUNT(*) FROM msdb.sys.sysusers' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp19 = "bcp 'select job_id uniqueidentifier*#*originating_server_id int*#*name sysname*#*enabled tinyint*#*description nvarchar(max)*#*start_step_id int*#*category_id int*#*owner_sid varbinary(85)*#*notify_level_eventlog int*#*notify_level_email int*#*delete_level int*#*date_created datetime*#*date_modified datetime*#*version_number int' QUERYOUT .\'$SERVERNAME'\MSDB_SYSJOBS.actt $aUTH"
Invoke-Expression $bcp19
$bcp19 = "bcp 'select job_id, originating_server_id, name, enabled, description, start_step_id, category_id, owner_sid, notify_level_eventlog, notify_level_email, delete_level,CONVERT(VARCHAR, date_created, 120) date_created,CONVERT(VARCHAR, date_modified, 120) date_modified, version_number from msdb.dbo.sysjobs' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp19 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp19
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\MSDB_SYSJOBS.actt"
	Write-output "--------------------------------------MSDB_SYSJOBS extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------MSDB_SYSJOBS extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\MSDB_SYSJOBS.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT MSDB_SYSJOBS, COUNT(*) FROM msdb.dbo.sysjobs' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp20 = "bcp 'select job_id uniqueidentifier*#*step_id int*#*step_name sysname*#*subsystem nvarchar(100)*#*command nvarchar(max)*#*flags int*#*additional_parameters ntext*#*cmdexec_success_code int*#*on_success_action tinyint*#*on_success_step_id int*#*on_fail_action tinyint*#*on_fail_step_id int*#*server sysname*#*database_name sysname*#*database_user_name sysname*#*retry_attempts int*#*retry_interval int*#*os_run_priority int*#*output_file_name nvarchar(400)*#*last_run_outcome int*#*last_run_duration int*#*last_run_retries int*#*last_run_date int*#*last_run_time int*#*step_uid uniqueidentifier' QUERYOUT .\'$SERVERNAME'\MSDB_SYSJOBSTEPS.actt $aUTH"
Invoke-Expression $bcp20
$bcp20 = "bcp 'select job_id, step_id, step_name, subsystem, command, flags , additional_parameters, cmdexec_success_code , on_success_action, on_success_step_id, on_fail_action, on_fail_step_id, server, database_name, database_user_name, retry_attempts , retry_interval, os_run_priority , output_file_name, last_run_outcome , last_run_duration , last_run_retries ,CONVERT(VARCHAR(10), last_run_date, 120) last_run_date , last_run_time, step_uid from msdb.dbo.sysjobsteps' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp20 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp20
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\MSDB_SYSJOBSTEPS.actt"
	Write-output "--------------------------------------MSDB_SYSJOBSTEPS extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------MSDB_SYSJOBSTEPS extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\MSDB_SYSJOBSTEPS.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT MSDB_SYSJOBSTEPS, COUNT(*) FROM msdb.dbo.sysjobsteps' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp21 = "bcp 'select schedule_id int*#*schedule_uid uniqueidentifier*#*originating_server_id int*#*name nvarchar(500)*#*owner_sid varbinary(85)*#*enabled int*#*freq_type int*#*freq_interval int*#*freq_subday_type int*#*freq_subday_interval int*#*freq_relative_interval int*#*freq_recurrence_factor int*#*active_start_date int*#*active_end_date int*#*active_start_time int*#*active_end_time int*#*date_created datetime*#*date_modified datetime*#*version_number int' QUERYOUT .\'$SERVERNAME'\MSDB_SYSSCHEDULES.actt $aUTH"
Invoke-Expression $bcp21
$bcp21 = "bcp 'select schedule_id, schedule_uid, originating_server_id, name, owner_sid, enabled, freq_type, freq_interval, freq_subday_type, freq_subday_interval, freq_relative_interval, freq_recurrence_factor, CONVERT(VARCHAR(10), active_start_date, 120) active_start_date,CONVERT(VARCHAR(10), active_end_date, 120) active_end_date, active_start_time, active_end_time,CONVERT(VARCHAR, date_created, 120) date_created,CONVERT(VARCHAR, date_modified, 120) date_modified, version_number from msdb.dbo.sysschedules' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp21 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp21
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\MSDB_SYSSCHEDULES.actt"
	Write-output "--------------------------------------MSDB_SYSSCHEDULES extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------MSDB_SYSSCHEDULES extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\MSDB_SYSSCHEDULES.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT MSDB_SYSSCHEDULES, COUNT(*) FROM msdb.dbo.sysschedules' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp22 = "bcp 'select schedule_id int*#*job_id uniqueidentifier*#*next_run_date int*#*next_run_time int' QUERYOUT .\'$SERVERNAME'\MSDB_SYSJOBSCHEDULES.actt $aUTH"
Invoke-Expression $bcp22
$bcp22 = "bcp 'select schedule_id , job_id,CONVERT(VARCHAR(10), next_run_date, 120) next_run_date , next_run_time from msdb.dbo.sysjobschedules' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp22 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp22
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\MSDB_SYSJOBSCHEDULES.actt"
	Write-output "--------------------------------------MSDB_SYSJOBSCHEDULES extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------MSDB_SYSJOBSCHEDULES extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\MSDB_SYSJOBSCHEDULES.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT MSDB_SYSJOBSCHEDULES, COUNT(*) FROM msdb.dbo.sysjobschedules' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp23 = "bcp 'select ROLE_PRINCIPAL_ID INT*#*MEMBER_PRINCIPAL_ID INT' QUERYOUT .\'$SERVERNAME'\m_sys_database_role_members.actt $aUTH"
Invoke-Expression $bcp23
$bcp23 = "bcp 'select ROLE_PRINCIPAL_ID, MEMBER_PRINCIPAL_ID from master.sys.database_role_members' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp23 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp23
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\m_sys_database_role_members.actt"
	Write-output "--------------------------------------m_sys_database_role_members extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------m_sys_database_role_members extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\m_sys_database_role_members.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT m_sys_database_role_members, COUNT(*) FROM master.sys.database_role_members' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp24 = "bcp 'SELECT uid smallint*#*islogin int*#*hasdbaccess int*#*name nVARCHAR(256)*#*sid varbinary(85)*#*createdate datetime*#*updatedate datetime*#*isntgroup int*#*isntname int*#*isntuser int*#*isaliased int*#*issqlrole int' QUERYOUT .\'$SERVERNAME'\M_SYSUSER.actt $aUTH"
Invoke-Expression $bcp24
$bcp24 = "bcp 'SELECT uid, islogin, hasdbaccess, name, sid,CONVERT(VARCHAR, createdate, 120) createdate,CONVERT(VARCHAR, updatedate, 120) updatedate, isntgroup, isntname, isntuser, isaliased, issqlrole from master.sys.sysusers' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp24 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp24
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\M_SYSUSER.actt"
	Write-output "--------------------------------------M_SYSUSER extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------M_SYSUSER extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\M_SYSUSER.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT M_SYSUSER, COUNT(*) FROM master.sys.sysusers' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp25 = "bcp 'select principal_id int*#*sid varbinary(85)*#*modify_date datetime*#*create_date datetime*#*type_desc nvarchar(128)*#*name Nvarchar(256)' QUERYOUT .\'$SERVERNAME'\m_sys_DB_principals.actt $aUTH"
Invoke-Expression $bcp25
$bcp25 = "bcp 'select principal_id, sid,CONVERT(VARCHAR, modify_date, 120) modify_date,CONVERT(VARCHAR, create_date, 120) create_date, type_desc, name from master.sys.database_principals' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp25 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp25
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\m_sys_DB_principals.actt"
	Write-output "--------------------------------------m_sys_DB_principals extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------m_sys_DB_principals extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\m_sys_DB_principals.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT m_sys_DB_principals, COUNT(*) FROM master.sys.database_principals' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp26 = "bcp 'select permission_name nvarchar(128)*#*state_desc nvarchar(60)*#*class tinyint*#*minor_id int*#*class_desc nvarchar(60)*#*major_id int*#*grantee_principal_id int' QUERYOUT .\'$SERVERNAME'\m_sys_DB_permissions.actt $aUTH"
Invoke-Expression $bcp26
$bcp26 = "bcp 'select permission_name, state_desc, class, minor_id, class_desc, major_id, grantee_principal_id from master.sys.database_permissions' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp26 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp26
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\m_sys_DB_permissions.actt"
	Write-output "--------------------------------------m_sys_DB_permissions extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------m_sys_DB_permissions extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\m_sys_DB_permissions.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT m_sys_DB_permissions, COUNT(*) FROM master.sys.database_permissions' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp27 = "bcp 'select NAME VARCHAR(MAX)*#*SCHEMA_ID INT*#*PRINCIPAL_ID INT' QUERYOUT .\'$SERVERNAME'\M_SYS_SCHEMAS.actt $aUTH"
Invoke-Expression $bcp27
$bcp27 = "bcp 'select NAME, SCHEMA_ID, PRINCIPAL_ID from master.sys.schemas' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp27 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp27
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\M_SYS_SCHEMAS.actt"
	Write-output "--------------------------------------M_SYS_SCHEMAS extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------M_SYS_SCHEMAS extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\M_SYS_SCHEMAS.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT M_SYS_SCHEMAS, COUNT(*) FROM master.sys.schemas' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp28 = "bcp 'select NAME VARCHAR(MAX)*#*OBJECT_ID INT*#*PRINCIPAL_ID INT*#*SCHEMA_ID INT*#*PARENT_OBJECT_ID INT*#*TYPE CHAR(10)*#*TYPE_DESC NVARCHAR(100)*#*CREATE_DATE DATETIME*#*MODIFY_DATE DATETIME*#*IS_MS_SHIPPED BIT*#*IS_PUBLISHED BIT*#*IS_SCHEMA_PUBLISHED BIT' QUERYOUT .\'$SERVERNAME'\M_SYS_OBJECTS.actt $aUTH"
Invoke-Expression $bcp28
$bcp28 = "bcp 'select NAME, OBJECT_ID, PRINCIPAL_ID, SCHEMA_ID, PARENT_OBJECT_ID, TYPE, TYPE_DESC,CONVERT(VARCHAR, CREATE_DATE, 120) CREATE_DATE,CONVERT(VARCHAR, MODIFY_DATE, 120) MODIFY_DATE, IS_MS_SHIPPED, IS_PUBLISHED, IS_SCHEMA_PUBLISHED from master.sys.objects' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp28 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp28
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\M_SYS_OBJECTS.actt"
	Write-output "--------------------------------------M_SYS_OBJECTS extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------M_SYS_OBJECTS extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\M_SYS_OBJECTS.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT M_SYS_OBJECTS, COUNT(*) FROM master.sys.objects' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$bcp9 = "bcp 'select database_scoped nvarchar(128)*#*permission_name nvarchar(128)*#*state_desc nvarchar(60)*#*class tinyint*#*minor_id int*#*class_desc nvarchar(60)*#*major_id int*#*grantee_principal_id int*#*securable nvarchar(1000)*#*securable_description nvarchar(1000)' QUERYOUT .\'$SERVERNAME'\DB_sys_DB_permissions.actt $aUTH"
Invoke-Expression $bcp9
For ($i=0; $i -lt $global:Loop.Length; $i++)
{
$DBNAME_MAP=$global:Loop[$i].TRIM()

$bcp9 = "bcp 'select $DBNAME_MAP AS database_scoped, [$DBNAME_MAP].sys.database_permissions.[permission_name], [$DBNAME_MAP].sys.database_permissions.state_desc, [$DBNAME_MAP].sys.database_permissions.class, [$DBNAME_MAP].sys.database_permissions.minor_id, [$DBNAME_MAP].sys.database_permissions.class_desc, [$DBNAME_MAP].sys.database_permissions.major_id, [$DBNAME_MAP].sys.database_permissions.grantee_principal_id, CAST*2 AS securable, CAST*3 AS securable_description from [$DBNAME_MAP].sys.database_permissions' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp9 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp9
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\DB_sys_DB_permissions.actt"
	Write-output "--------------------------------------$DBNAME_MAP.DB_sys_DB_permissions extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------$DBNAME_MAP.DB_sys_DB_permissions extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\DB_sys_DB_permissions.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT $DBNAME_MAP.DB_sys_DB_permissions, COUNT(*) FROM [$DBNAME_MAP].sys.database_permissions' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$global:Loop[$i]
}

$bcp7 = "bcp 'SELECT database_scoped nvarchar(128)*#*uid smallint*#*islogin int*#*hasdbaccess int*#*name nVARCHAR(256)*#*sid varbinary(85)*#*createdate datetime*#*updatedate datetime*#*isntgroup int*#*isntname int*#*isntuser int*#*isaliased int*#*issqlrole int' QUERYOUT .\'$SERVERNAME'\DB_SYSUSER.actt $aUTH"
Invoke-Expression $bcp7
For ($i=0; $i -lt $global:Loop.Length; $i++)
{
$DBNAME_MAP=$global:Loop[$i].TRIM()
$bcp7 = "bcp 'SELECT $DBNAME_MAP AS database_scoped, uid, islogin, hasdbaccess, name, sid,CONVERT(VARCHAR, createdate, 120) createdate,CONVERT(VARCHAR, updatedate, 120) updatedate, isntgroup, isntname, isntuser, isaliased, issqlrole from [$DBNAME_MAP].sys.sysusers' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp7 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp7
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\DB_SYSUSER.actt"
	Write-output "--------------------------------------$DBNAME_MAP.DB_SYSUSER extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------$DBNAME_MAP.DB_SYSUSER extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\DB_SYSUSER.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT $DBNAME_MAP.DB_SYSUSER, COUNT(*) FROM [$DBNAME_MAP].sys.sysusers' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$global:Loop[$i]
}

$bcp8 = "bcp 'select database_scoped nvarchar(128)*#*principal_id int*#*sid varbinary(85)*#*modify_date datetime*#*create_date datetime*#*type_desc nvarchar(128)*#*name Nvarchar(256)' QUERYOUT .\'$SERVERNAME'\DB_sys_DB_principals.actt $aUTH"
Invoke-Expression $bcp8
For ($i=0; $i -lt $global:Loop.Length; $i++)
{
$DBNAME_MAP=$global:Loop[$i].TRIM()
$bcp8 = "bcp 'select $DBNAME_MAP AS database_scoped, principal_id, sid, CONVERT(VARCHAR, modify_date, 120) modify_date,CONVERT(VARCHAR, create_date, 120) create_date, type_desc, name from [$DBNAME_MAP].sys.database_principals' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp8 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp8
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\DB_sys_DB_principals.actt"
	Write-output "--------------------------------------$DBNAME_MAP.DB_sys_DB_principals extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------$DBNAME_MAP.DB_sys_DB_principals extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\DB_sys_DB_principals.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT $DBNAME_MAP.DB_sys_DB_principals, COUNT(*) FROM [$DBNAME_MAP].sys.database_principals' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$global:Loop[$i]
}

$bcp13 = "bcp 'select database_scoped nvarchar(128)*#*ROLE_PRINCIPAL_ID INT*#*MEMBER_PRINCIPAL_ID INT' QUERYOUT .\'$SERVERNAME'\DB_sys_database_role_members.actt $aUTH"
Invoke-Expression $bcp13
For ($i=0; $i -lt $global:Loop.Length; $i++)
{
$DBNAME_MAP=$global:Loop[$i].TRIM()
$bcp13 = "bcp 'select $DBNAME_MAP AS database_scoped, ROLE_PRINCIPAL_ID, MEMBER_PRINCIPAL_ID from [$DBNAME_MAP].sys.database_role_members' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp13 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp13
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\DB_sys_database_role_members.actt"
	Write-output "--------------------------------------$DBNAME_MAP.DB_sys_database_role_members extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------$DBNAME_MAP.DB_sys_database_role_members extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\DB_sys_database_role_members.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT $DBNAME_MAP.DB_sys_database_role_members, COUNT(*) FROM [$DBNAME_MAP].sys.database_role_members' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$global:Loop[$i]
}

$bcp14 = "bcp 'select database_scoped nvarchar(128)*#*NAME VARCHAR(MAX)*#*SCHEMA_ID INT*#*PRINCIPAL_ID INT' QUERYOUT .\'$SERVERNAME'\DB_SYS_SCHEMAS.actt $aUTH"
Invoke-Expression $bcp14
For ($i=0; $i -lt $global:Loop.Length; $i++)
{
$DBNAME_MAP=$global:Loop[$i].TRIM()
$bcp14 = "bcp 'select $DBNAME_MAP AS database_scoped, NAME, SCHEMA_ID, PRINCIPAL_ID from [$DBNAME_MAP].sys.schemas' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp14 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp14
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\DB_SYS_SCHEMAS.actt"
	Write-output "--------------------------------------$DBNAME_MAP.DB_SYS_SCHEMAS extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------$DBNAME_MAP.DB_SYS_SCHEMAS extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\DB_SYS_SCHEMAS.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT $DBNAME_MAP.DB_SYS_SCHEMAS, COUNT(*) FROM [$DBNAME_MAP].sys.schemas' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$global:Loop[$i]
}

$bcp15 = "bcp 'select database_scoped nvarchar(128)*#*NAME VARCHAR(MAX)*#*OBJECT_ID INT*#*PRINCIPAL_ID INT*#*SCHEMA_ID INT*#*PARENT_OBJECT_ID INT*#*TYPE CHAR(10)*#*TYPE_DESC NVARCHAR(100)*#*CREATE_DATE DATETIME*#*MODIFY_DATE DATETIME*#*IS_MS_SHIPPED BIT*#*IS_PUBLISHED BIT*#*IS_SCHEMA_PUBLISHED BIT' QUERYOUT .\'$SERVERNAME'\DB_SYS_OBJECTS.actt $aUTH"
Invoke-Expression $bcp15
For ($i=0; $i -lt $global:Loop.Length; $i++)
{
$DBNAME_MAP=$global:Loop[$i].TRIM()
$bcp15 = "bcp 'select $DBNAME_MAP AS database_scoped, NAME, OBJECT_ID, PRINCIPAL_ID, SCHEMA_ID, PARENT_OBJECT_ID, TYPE, TYPE_DESC,CONVERT(VARCHAR, CREATE_DATE, 120) CREATE_DATE,CONVERT(VARCHAR, MODIFY_DATE, 120) MODIFY_DATE, IS_MS_SHIPPED, IS_PUBLISHED, IS_SCHEMA_PUBLISHED from [$DBNAME_MAP].sys.objects' QUERYOUT .\'$SERVERNAME'\TempData.actt $aUTH"
$bcp15 += '| out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG";$Err=$?'
Invoke-Expression $bcp15
If (!$Err)
{

	Write-Output $errorMessage | out-file -append -encoding ASCII -filepath ".\$SERVERNAME\DB_SYS_OBJECTS.actt"
	Write-output "--------------------------------------$DBNAME_MAP.DB_SYS_OBJECTS extraction failed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
else
{

	Write-output "--------------------------------------$DBNAME_MAP.DB_SYS_OBJECTS extraction completed" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"

}
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\DB_SYS_OBJECTS.actt
Remove-Item .\$SERVERNAME\TempData.actt

$bcpTableRC = "bcp 'SELECT $DBNAME_MAP.DB_SYS_OBJECTS, COUNT(*) FROM [$DBNAME_MAP].sys.objects' QUERYOUT .\'$SERVERNAME'\TempData.ACTT $aUTH"
Invoke-Expression $bcpTableRC
gc .\$SERVERNAME\TempData.actt| Add-Content -Path .\$SERVERNAME\ACTT_CONFIG_TABLERECORDCOUNT.txt
Remove-Item .\$SERVERNAME\TempData.actt

$global:Loop[$i]
}

If($psVersion -ge 3){

	
	Get-ServerQuickFixes
	Get-LocalUsersAll
	Get-LocalGroupsMembersAll
	$source = $Path_ZipLOc

$destination = Join-Path (Get-Location) "\$SERVERNAME.zip"

If(Test-path $destination) {Remove-item $destination}
Add-Type -assembly "system.io.compression.filesystem"
[io.compression.zipfile]::CreateFromDirectory($Source, $destination)

#Compress-Archive -Path $Path_ZipLOc_target $Path_D\$DBNAME_MAP.zip -Force
Remove-Item -Recurse -Force $Path_L
}

}

	
	Function Write-ActtFile

{

	
	[CmdletBinding()]
	Param
	(
		[Parameter(Position = 0,
				   Mandatory = $true,
				   ValueFromPipelineByPropertyName = $true,
				   HelpMessage = 'Data to be written to Actt File')]
		[ValidateNotNullOrEmpty()]
		[System.Object]$Data,
		[Parameter(Position = 1,
				   Mandatory = $true,
				   HelpMessage = 'Full Path of the Actt FIle')]
		[ValidateNotNullOrEmpty()]
		[string]$Path_L,
		[Parameter(Position = 2,
				   Mandatory = $false)]
		[string]$Delimiter = '*#*'
	)
	
	$VerbosePreference = 'Continue'
	Try
	{
		# Create StreamWriter
		$SW = New-Object System.IO.StreamWriter($Path_L, $false, [System.Text.Encoding]::Unicode)
		
		# Write Header
		$Header = ''
		$Properties = @()
		$Properties += ($Data[0] | Get-Member | Where-Object { $_.MemberType -eq 'NoteProperty' }).Name
		For ($i = 0; $i -lt $Properties.Count; $i++)
		{
			If ($i -eq ($Properties.Count - 1))
			{
				$Header += '[' + $($Properties[$i]) + '] NVARCHAR(MAX)'
			}
			Else
			{
				$Header += '[' + $($Properties[$i]) + '] NVARCHAR(MAX)' + $Delimiter
			}
		}
		$SW.WriteLine($Header)
		
		
		# Parse through dataset and write out to actt log file
		ForEach ($Result in $Data)
		{
			$Record = ''
			
			For ($i = 0; $i -lt $Properties.Count; $i++)
			{
				# Grab Current Property
				$Prop = $Properties[$i]
				#check if working on last property so we do not add the delimiter to the end of the record.
				If ($i -eq ($Properties.Count - 1))
				{
					#Check for $null in $Result.Prop -- Still need to check for arrays in properties.
					If ($Result.$Prop -ne $null)
					{
						$Record += $Result.$Prop
					}
				}
				Else
				{
					If ($Result.$Prop -ne $null)
					{
						$Record += $Result.$Prop.ToString() + $Delimiter
					}
					Else
					{
						$Record += $Delimiter
					}
				}
			}
			$SW.WriteLine($Record)
		}
	}
	
	Catch
	{
		#Some error occurred attempting to write the extract .actt file. Writing error $errorlist
		Write-output "Error - Writing Export .actt File" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
		Write-output "$Error[0]" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
		
	}
	
	Finally
	{
		$SW.close()
	}

}

Function Get-ServerQuickFixes
{

	Try
	{
		Write-output "--------------------------------------List all quickfixes on local server - quickfixes.actt" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
				
		$colQuickFixes = @()
		$WMIQuery = Get-WmiObject -Namespace root\cimv2 -Query 'SELECT * FROM Win32_QuickFixEngineering' -ComputerName $ComputerName -ErrorAction SilentlyContinue -ErrorVariable WMIError
		
		If ($WMIQuery -ne $null)
		{
			ForEach ($item in $WMIQuery)
			{
				$objTemp = [PSCustomObject] @{
					'Caption' = $item.Caption
					'CSName' = $item.CSName
					'Description' = $item.Description
					'FixComments' = $item.FixComments
					'HotFixID' = $item.HotFixID
					'InstallDate' = $item.InstallDate
					'InstalledBy' = $item.InstalledBy
					'InstalledOn' = $item.InstalledOn
					'Name' = $item.Name
					'ServicePackInEffect' = $item.ServicePackInEffect
					'Status' = $item.Status
				}
				
				# Add psCustomObject to Collection
				$colQuickFixes += $objTemp
			}
		}
		else
		{
			$objTemp = [PSCustomObject] @{
				'Caption' = 'Not available'
				'CSName' = 'Not available'
				'Description' = 'Not available'
				'FixComments' = 'Not Available'
				'HotFixID' = 'Not Available'
				'InstallDate' = 'Not Available'
				'InstalledBy' = 'Not Available'
				'InstalledOn' = 'Not Available'
				'Name' = 'Not Available'
				'ServicePackInEffect' = 'Not Available'
				'Status' = 'Not Available'
			}
			$colQuickFixes += $objTemp
		}
		
		Write-output "Exporting all quickfixes on local Server - quickfixes.actt" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
		Write-host 'Exporting all quickfixes on local DC - quickfixes.actt'
		Write-ActtFile -Data $colQuickFixes -Path $(Join-Path $Path_L 'quickfixes.actt')
	}
	
	Catch
	{
		#Some error occurred attempting to list all quickfixes on local Server - quickfixes.actt. Writing error 
		Write-output "Error - Could not List all quickfixes Assignments on $SERVERNAME" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
		Write-output "$Error[0]" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
		
	}

}

Function Get-LocalUsersAll
{

	#List all Local Users Accounts - users.actt
	Try
	{
		Write-output "--------------------------------------List all Local Users Accounts - users.actt" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
		
		Write-Host 'Exporting All Local Users'
		
				
		$AllDEntry = [ADSI]"WinNT://$ComputerName"
			
		$colUsers = @()
		$colUsers2 = @()
		
		foreach ($UserEntry in $AllDEntry.Children | where { $_.SchemaClassName -eq 'user' })
		{
			try
			{
				foreach ($User in $UserEntry[0] | select *)
			{
				try
				{
					$objUser = [PSCustomObject] @{
						'objectsid'		     = (New-Object System.Security.Principal.SecurityIdentifier($User.objectSid.value, 0)).Value
						'Name'			     = $User.Name
						'FullName'		     = $User.FullName

# 'Username' = $User.Username

						'Description'	     = $User.Description
						'lastlogin'		     = If ($User.LastLogin[0] -is [datetime]) { $User.LastLogin[0] } Else { 'Never logged  on' }
						'passwordage'	     = [math]::Round($User.PasswordAge[0]/86400)
						'useraccountcontrol' = $User.userflags
						'ACCOUNTDISABLE' = Switch ($User.userflags[0]) { ($User.userflags[0] -BOR 0x0002) { 'True' }
							default { 'False' }
						}
						'PASSWD_CANT_CHANGE' = Switch ($User.userflags[0])
						{
							($User.userflags[0] -BOR 0x0040) { 'True' }
							default { 'False' }
						}
						'LOCKOUT' 			 = Switch ($User.userflags[0])
						{
							($User.userflags[0] -BOR 0x0010) { 'True' }
							default { 'False' }
						}
						'PASSWD_NOTREQD'	 = Switch ($User.userflags[0])
						{
							($User.userflags[0] -BOR 0x0020) { 'True' }
							default { 'False' }
						}
						'DONT_EXPIRE_PASSWORD' = Switch ($User.userflags[0])
						{
							($User.userflags[0] -BOR 0x0020) { 'True' }
							default { 'False' }
						}
						'PasswordExpired'    = $User.PasswordExpired
						
					}
					$colUsers += $objUser
					
				}
				catch
				{
					Write-output "Error - Issue identified for one of the Local Users" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
					Write-output "$User" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
					
					$objUser = [PSCustomObject] @{
						'objectsid'		     = (New-Object System.Security.Principal.SecurityIdentifier($User.objectSid.value, 0)).Value
						'Name'			     = $User.Name
						'FullName'		     = $User.FullName

# 'Username' = $User.Username

						'Description'	     = $User.Description
						'lastlogin'		     = ''
						'passwordage'	     = [math]::Round($User.PasswordAge[0]/86400)
						'useraccountcontrol' = $User.userflags
						'ACCOUNTDISABLE' = Switch ($User.userflags[0]) { ($User.userflags[0] -BOR 0x0002) { 'True' }
							default { 'False' }
						}
						'PASSWD_CANT_CHANGE' = Switch ($User.userflags[0])
						{
							($User.userflags[0] -BOR 0x0040) { 'True' }
							default { 'False' }
						}
						'LOCKOUT' 			 = Switch ($User.userflags[0])
						{
							($User.userflags[0] -BOR 0x0010) { 'True' }
							default { 'False' }
						}
						'PASSWD_NOTREQD'	 = Switch ($User.userflags[0])
						{
							($User.userflags[0] -BOR 0x0020) { 'True' }
							default { 'False' }
						}
						'DONT_EXPIRE_PASSWORD' = Switch ($User.userflags[0])
						{
							($User.userflags[0] -BOR 0x0020) { 'True' }
							default { 'False' }
						}
						'PasswordExpired'    = $User.PasswordExpired
						
					}
					$colUsers += $objUser
					Write-output "$Error[0]" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
					
					continue
				}
				
			}
			}
			Catch
			{
				Write-output "Error - Issue identified for one of the Local UserEntry Object" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
				Write-output "$UserEntry" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
				Write-output "$Error[0]" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
				
				continue
			}
			
			
		}
		foreach ($UserEntry in $AllDEntry.Children | where { $_.SchemaClassName -eq 'user' })
		{
			Try
			{
				foreach ($User in $UserEntry[0] | select *)
			{
				try
				{
					$objUser2 = [PSCustomObject] @{
						'SID'		     = (New-Object System.Security.Principal.SecurityIdentifier($User.objectSid.value, 0)).Value
						'Name'			     = $User.Name
						'FullName'		     = $User.FullName
						'Description'	     = $User.Description
						'useraccountcontrol' = $User.userflags
						'Disabled' = Switch ($User.userflags[0]) { ($User.userflags[0] -BOR 0x0002) { 'True' }
							default { 'False' }
						}
						'PasswordChangeable' = Switch ($User.userflags[0])
						{
							($User.userflags[0] -BOR 0x0040) { 'False' }
							default { 'True' }
						}
						'LOCKOUT' 			 = Switch ($User.userflags[0])
						{
							($User.userflags[0] -BOR 0x0010) { 'True' }
							default { 'False' }
						}
						'PasswordRequired'	 = Switch ($User.userflags[0])
						{
							($User.userflags[0] -BOR 0x0020) { 'False' }
							default { 'True' }
						}
						'PasswordExpires' = Switch ($User.userflags[0])
						{
							($User.userflags[0] -BOR 0x0020) { 'False' }
							default { 'True' }
						}
						
						
					}
														
					$colUsers2 += $objUser2
										
				}
				catch
				{
					Write-output "Error - Issue identified for one of the Local Users in USERS3" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
					Write-output "$User" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
					Write-output "$Error[0]" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
					
				}
				
			}
			}
			Catch
			{
				Write-output "Error - Issue identified for one of the Local UserEntry Object in Users3" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
				Write-output "$UserEntry" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
				Write-output "$Error[0]" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
				
				continue
			}
			
			
		}
		
		Write-host 'Exporting All Local Users - users.actt'
		Write-output "Exporting All Local Users - users.actt" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
		
		Write-ActtFile -Data $colUsers -Path $(Join-Path $Path_L 'users.actt')
		
		Write-host 'Exporting All Local Users - users3.actt'
		Write-output "Exporting All Local Users - users3.actt" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
		
		Write-ActtFile -Data $colUsers2 -Path $(Join-Path $Path_L 'users3.actt')
		
	}
	
	Catch
	{
		#Some error occurred attempting to List all Local Users Accounts with requested attributes. Writing error $errorlist
		Write-output "Error - Could not list all Local Users" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
		Write-output "$Error[0]" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
		
	}

}

Function Get-LocalGroupsMembersAll
{

	
	#List all members in Local Groups - groupmembers.actt
	Try
	{
		Write-output "------------------------------------List all Local Group Members - groupmembers.actt" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
		
	<#
       File: groupmembers.actt
       Report Fields: 'GroupName', 'GroupSID', 'Member', 'objectSID'
   #>
		Write-Host 'Searching All Local Group Members'
		$AllDEntry = [ADSI]"WinNT://$ComputerName"
		$colLocalGroupsMembers = @()
		#Check for Empty $Members, if empty create the $objGroup psCustomObject
		foreach ($Group in $AllDEntry.Children | where { $_.SchemaClassName -eq 'group' })
		{
			Foreach($groupdetail in $Group[0] | select *)
			{
				try
				{
					$objGroup = [PSCustomObject] @{
						'GroupName' = $groupdetail.Name
						'GroupSID'  = (New-Object System.Security.Principal.SecurityIdentifier($groupdetail.objectSid.value, 0)).Value
						'Member'    = ''
						'objectSid' = ''
						
					}
					$colLocalGroupsMembers += $objGroup
										
				}
				Catch
				{
					Write-output "$Error[0]" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
					
					continue
				}
				
				
			}
			
			Foreach ($Groupmember in $AllDEntry.psbase.children.find($Group.Name, 'Group'))
			{
				Try
				{
					Foreach ($Member in $Groupmember.psbase.invoke("members"))
					{
						#$MemberDetails = new DirectoryEntry($Member)
						try
						{
							$objGroup = [PSCustomObject] @{
								'GroupName' = $Group.Name
								'GroupSID'  = (New-Object System.Security.Principal.SecurityIdentifier($Group.objectSid.value, 0)).Value
								'Member'    = $Member.GetType().InvokeMember("Name", 'GetProperty', $null, $Member, $null)
								'objectSid' = (New-Object System.Security.Principal.SecurityIdentifier($Member.GetType().InvokeMember("objectSid", 'GetProperty', $null, $Member, $null), 0)).Value 
							
							}
							$colLocalGroupsMembers += $objGroup
						}
						catch
						{
							Write-output "$Error[0]" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
							
							continue
						}
					}
				}
				Catch
				{
					Write-output "Error - With the below GroupMember" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
					Write-output "$Member" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
					Write-output "$Error[0]" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
					
					continue
				}
				
				
			}
			
		}
		
		
		Write-output "Exporting All Local Groupmembers - groupmembers.actt" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
		
		Write-host 'Exporting All Local Group members - groupmembers.actt'
		Write-ActtFile -Data $colLocalGroupsMembers -Path $(Join-Path $Path_L 'groupmembers.actt')
	}
	
	Catch
	{
		#Some error occurred attempting to List all Local Groups with requested attributes. Writing error $errorlist
		Write-output "Error - Could not list all local Group Members" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
		Write-output "$Error[0]" | out-file -append -filepath ".\$SERVERNAME\ACTT_DATA.LOG"
		
	}

}

If($InstanceList.Contains(','))
{
$InstanceList= $InstanceList.Split(',')
$InstanceList= $InstanceList | sort-object | Get-Unique

	For ($i=0; $i -lt $InstanceList.Length; $i++)
	{
		Get-InstanceExtraction -Server $InstanceList[$i].TRIM()
	}

}
Else
{

	Get-InstanceExtraction -Server $InstanceList.TRIM()

}

# SIG # Begin signature block

# MIITDwYJKoZIhvcNAQcCoIITADCCEvwCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB

# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR

# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQU1MetR2wQlFrXJQgPsPWS2Fyt

# KQ+ggg2YMIIEFDCCAvygAwIBAgILBAAAAAABL07hUtcwDQYJKoZIhvcNAQEFBQAw

# VzELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNV

# BAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw0xMTA0

# MTMxMDAwMDBaFw0yODAxMjgxMjAwMDBaMFIxCzAJBgNVBAYTAkJFMRkwFwYDVQQK

# ExBHbG9iYWxTaWduIG52LXNhMSgwJgYDVQQDEx9HbG9iYWxTaWduIFRpbWVzdGFt

# cGluZyBDQSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlO9l

# +LVXn6BTDTQG6wkft0cYasvwW+T/J6U00feJGr+esc0SQW5m1IGghYtkWkYvmaCN

# d7HivFzdItdqZ9C76Mp03otPDbBS5ZBb60cO8eefnAuQZT4XljBFcm05oRc2yrmg

# jBtPCBn2gTGtYRakYua0QJ7D/PuV9vu1LpWBmODvxevYAll4d/eq41JrUJEpxfz3

# zZNl0mBhIvIG+zLdFlH6Dv2KMPAXCae78wSuq5DnbN96qfTvxGInX2+ZbTh0qhGL

# 2t/HFEzphbLswn1KJo/nVrqm4M+SU4B09APsaLJgvIQgAIMboe60dAXBKY5i0Eex

# +vBTzBj5Ljv5cH60JQIDAQABo4HlMIHiMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMB

# Af8ECDAGAQH/AgEAMB0GA1UdDgQWBBRG2D7/3OO+/4Pm9IWbsN1q1hSpwTBHBgNV

# HSAEQDA+MDwGBFUdIAAwNDAyBggrBgEFBQcCARYmaHR0cHM6Ly93d3cuZ2xvYmFs

# c2lnbi5jb20vcmVwb3NpdG9yeS8wMwYDVR0fBCwwKjAooCagJIYiaHR0cDovL2Ny

# bC5nbG9iYWxzaWduLm5ldC9yb290LmNybDAfBgNVHSMEGDAWgBRge2YaRQ2XyolQ

# L30EzTSo//z9SzANBgkqhkiG9w0BAQUFAAOCAQEATl5WkB5GtNlJMfO7FzkoG8IW

# 3f1B3AkFBJtvsqKa1pkuQJkAVbXqP6UgdtOGNNQXzFU6x4Lu76i6vNgGnxVQ380W

# e1I6AtcZGv2v8Hhc4EvFGN86JB7arLipWAQCBzDbsBJe/jG+8ARI9PBw+DpeVoPP

# PfsNvPTF7ZedudTbpSeE4zibi6c1hkQgpDttpGoLoYP9KOva7yj2zIhd+wo7AKvg

# IeviLzVsD440RZfroveZMzV+y5qKu0VN5z+fwtmK+mWybsd+Zf/okuEsMaL3sCc2

# SI8mbzvuTXYfecPlf5Y1vC0OzAGwjn//UYCAp5LUs0RGZIyHTxZjBzFLY7Df8zCC

# BJ8wggOHoAMCAQICEhEh1pmnZJc+8fhCfukZzFNBFDANBgkqhkiG9w0BAQUFADBS

# MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEoMCYGA1UE

# AxMfR2xvYmFsU2lnbiBUaW1lc3RhbXBpbmcgQ0EgLSBHMjAeFw0xNjA1MjQwMDAw

# MDBaFw0yNzA2MjQwMDAwMDBaMGAxCzAJBgNVBAYTAlNHMR8wHQYDVQQKExZHTU8g

# R2xvYmFsU2lnbiBQdGUgTHRkMTAwLgYDVQQDEydHbG9iYWxTaWduIFRTQSBmb3Ig

# TVMgQXV0aGVudGljb2RlIC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK

# AoIBAQCwF66i07YEMFYeWA+x7VWk1lTL2PZzOuxdXqsl/Tal+oTDYUDFRrVZUjtC

# oi5fE2IQqVvmc9aSJbF9I+MGs4c6DkPw1wCJU6IRMVIobl1AcjzyCXenSZKX1GyQ

# oHan/bjcs53yB2AsT1iYAGvTFVTg+t3/gCxfGKaY/9Sr7KFFWbIub2Jd4NkZrItX

# nKgmK9kXpRDSRwgacCwzi39ogCq1oV1r3Y0CAikDqnw3u7spTj1Tk7Om+o/SWJMV

# TLktq4CjoyX7r/cIZLB6RA9cENdfYTeqTmvT0lMlnYJz+iz5crCpGTkqUPqp0Dw6

# yuhb7/VfUfT5CtmXNd5qheYjBEKvAgMBAAGjggFfMIIBWzAOBgNVHQ8BAf8EBAMC

# B4AwTAYDVR0gBEUwQzBBBgkrBgEEAaAyAR4wNDAyBggrBgEFBQcCARYmaHR0cHM6

# Ly93d3cuZ2xvYmFsc2lnbi5jb20vcmVwb3NpdG9yeS8wCQYDVR0TBAIwADAWBgNV

# HSUBAf8EDDAKBggrBgEFBQcDCDBCBgNVHR8EOzA5MDegNaAzhjFodHRwOi8vY3Js

# Lmdsb2JhbHNpZ24uY29tL2dzL2dzdGltZXN0YW1waW5nZzIuY3JsMFQGCCsGAQUF

# BwEBBEgwRjBEBggrBgEFBQcwAoY4aHR0cDovL3NlY3VyZS5nbG9iYWxzaWduLmNv

# bS9jYWNlcnQvZ3N0aW1lc3RhbXBpbmdnMi5jcnQwHQYDVR0OBBYEFNSihEo4Whh/

# uk8wUL2d1XqH1gn3MB8GA1UdIwQYMBaAFEbYPv/c477/g+b0hZuw3WrWFKnBMA0G

# CSqGSIb3DQEBBQUAA4IBAQCPqRqRbQSmNyAOg5beI9Nrbh9u3WQ9aCEitfhHNmmO

# 4aVFxySiIrcpCcxUWq7GvM1jjrM9UEjltMyuzZKNniiLE0oRqr2j79OyNvy0oXK/

# bZdjeYxEvHAvfvO83YJTqxr26/ocl7y2N5ykHDC8q7wtRzbfkiAD6HHGWPZ1BZo0

# 8AtZWoJENKqA5C+E9kddlsm2ysqdt6a65FDT1De4uiAO0NOSKlvEWbuhbds8zkSd

# wTgqreONvc0JdxoQvmcKAjZkiLmzGybu555gxEaovGEzbM9OuZy5avCfN/61PU+a

# 003/3iCOTpem/Z8JvE3KGHbJsE2FUPKA0h0G9VgEB7EYMIIE2TCCA8GgAwIBAgIQ

# XiIgSKf1y4tW2d2P4LP++jANBgkqhkiG9w0BAQsFADCBhDELMAkGA1UEBhMCVVMx

# HTAbBgNVBAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYDVQQLExZTeW1hbnRl

# YyBUcnVzdCBOZXR3b3JrMTUwMwYDVQQDEyxTeW1hbnRlYyBDbGFzcyAzIFNIQTI1

# NiBDb2RlIFNpZ25pbmcgQ0EgLSBHMjAeFw0xNzA4MzEwMDAwMDBaFw0xOTA5MjYy

# MzU5NTlaMIGJMQswCQYDVQQGEwJVUzESMBAGA1UECAwJVGVubmVzc2VlMRIwEAYD

# VQQHDAlIZXJtaXRhZ2UxIDAeBgNVBAoMF0RlbG9pdHRlIGFuZCBUb3VjaGUgTExQ

# MQ4wDAYDVQQLDAVEX0xVRDEgMB4GA1UEAwwXRGVsb2l0dGUgYW5kIFRvdWNoZSBM

# TFAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCu3VkuySf1IeouRu5h

# OCq/iZ0f9cfuflmOrXT6g3VIta6v883NP6gtSot/RorsyUGRFbEou0X2S8M9Lf5k

# HymtFatp+WHbn37eREgvvwHmZwCk7KcFEh4n2zDQ/ObmdjMtnh9ZQWlrVpUhghhp

# /KECdsvXgZeTLCmSLXhXvx/eBZ44/D5aRJWp+MmUtNlSGSUYEMzoFR6UNGiE8QnR

# UAj4jhq7ypD5pfQHVs3YV8BJ0dhjtySYLcAnXUoO059fZqtDYHpoBRxhcZZno00s

# sExUo/IssCTbRFxB51LplmXQuL7MVwFpg1jmyEkPNzxeSbnSWG8JwN5RY7li0iE5

# bny3AgMBAAGjggE+MIIBOjAJBgNVHRMEAjAAMA4GA1UdDwEB/wQEAwIHgDATBgNV

# HSUEDDAKBggrBgEFBQcDAzBhBgNVHSAEWjBYMFYGBmeBDAEEATBMMCMGCCsGAQUF

# BwIBFhdodHRwczovL2Quc3ltY2IuY29tL2NwczAlBggrBgEFBQcCAjAZDBdodHRw

# czovL2Quc3ltY2IuY29tL3JwYTAfBgNVHSMEGDAWgBTUwAYiSes5S92T4lyhuEd2

# CXIDWDArBgNVHR8EJDAiMCCgHqAchhpodHRwOi8vcmIuc3ltY2IuY29tL3JiLmNy

# bDBXBggrBgEFBQcBAQRLMEkwHwYIKwYBBQUHMAGGE2h0dHA6Ly9yYi5zeW1jZC5j

# b20wJgYIKwYBBQUHMAKGGmh0dHA6Ly9yYi5zeW1jYi5jb20vcmIuY3J0MA0GCSqG

# SIb3DQEBCwUAA4IBAQDQtMq6dcWPSQtFHa8Y1uGO+cCRBHeFDtHsy6a4SJROXz7h

# erI7O47vLGptNED2/xiHJ9z3T7mnLoIoGyL7lxt0zKivvtUPjhM2cwJYn7iZ3TCo

# hT3Yw1JUC3mm5KoEk4r2j524x5WGEMQvggMotaeaNgWzrHDGBuKUKV+YJb2QEHAM

# 66hu+Ypl1LISxCNxLOYETxpJFu2NAC/UB2nJEJf5t7IHdw48Yd6CXzOB7zeYdPTd

# vCDGJfWE61W8xqLymlm1mGDHlJt9Bhug+GxZ152l1NuQtNKa4KMSkdj6oMXgnNCB

# /elFv9m0qKMP90UluriOl1P/3VKaOiXjBf4szqDRMYIE4TCCBN0CAQEwgZkwgYQx

# CzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEfMB0G

# A1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazE1MDMGA1UEAxMsU3ltYW50ZWMg

# Q2xhc3MgMyBTSEEyNTYgQ29kZSBTaWduaW5nIENBIC0gRzICEF4iIEin9cuLVtnd

# j+Cz/vowCQYFKw4DAhoFAKB4MBgGCisGAQQBgjcCAQwxCjAIoAKAAKECgAAwGQYJ

# KoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQB

# gjcCARUwIwYJKoZIhvcNAQkEMRYEFKHCzRxDBSXu8Tvsj4vYs52CcsAjMA0GCSqG

# SIb3DQEBAQUABIIBAFbNSO69jd9e67oL0frrrgKE5hXuAmXWPiyFbZ0Xp82GcJmW

# RJMm7aPExwOJR9ODVFLtz2t9ADjxJc5iZ30pg88HYdzjK1O/EqUPyCHvycfUA8db

# piQ8iycEW5vdqiUgbf4Z+KJM3/efdjqsQ1SbeAQBL8bZM2QwELaOjqsUEObQ/cp8

# JyOD8acO8uwFBKPCvp4lX1uEnpgEFZrQutM9E9Zqcv2WXCj2snsc3oP23QqvPuDc

# SkH6Dg4PGK+1P6RHdL9uwxiN597MeBHFePFoHyt+Pk/c84fQnmXVgUJIxdcpNDcB

# I9PmV3RkHHOUCzuFsTQtA/9NAbGMOqeG1M+HeXahggKiMIICngYJKoZIhvcNAQkG

# MYICjzCCAosCAQEwaDBSMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2ln

# biBudi1zYTEoMCYGA1UEAxMfR2xvYmFsU2lnbiBUaW1lc3RhbXBpbmcgQ0EgLSBH

# MgISESHWmadklz7x+EJ+6RnMU0EUMAkGBSsOAwIaBQCggf0wGAYJKoZIhvcNAQkD

# MQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTkwNjEzMTU0OTAzWjAjBgkq

# hkiG9w0BCQQxFgQU8xG7qRkZa3I1N7C5WWw0p4/bkV0wgZ0GCyqGSIb3DQEJEAIM

# MYGNMIGKMIGHMIGEBBRjuC+rYfWDkJaVBQsAJJxQKTPseTBsMFakVDBSMQswCQYD

# VQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEoMCYGA1UEAxMfR2xv

# YmFsU2lnbiBUaW1lc3RhbXBpbmcgQ0EgLSBHMgISESHWmadklz7x+EJ+6RnMU0EU

# MA0GCSqGSIb3DQEBAQUABIIBAJVFKr9/3jkHDDps6Pg5+zy7+/ZY1Id6Ka4uDE1w

# 2Jibl71Bnxe6Idoa0vV9NQRlP4WFxz6Gh3wnBfc8K8nvL5+Gfadn+M82lnDx7KHu

# aGnGzFAqNxh7YdSh/bfHjyNNCcSHfDRkfT59rWLrcBrstsvuh8Hy8QMcSskyasPQ

# l2T3o/ZDku09PrMXwynUGI8UyGjVVc/1n5w3ZvKire6UdwB0TLMaVgpBLvcXOyVK

# tTZmOCujczypYv19AAJvbBuy+SxhHmDGvA3Kxo+wL1eF7KTZxB1dHZev40za/4fl

# I2sohelycVM9wZN3KURp9JSa7tTRfpCUmfwc49rFe69kTBY=

# SIG # End signature block

このページは、編集者向けのルール等をまとめたものです。
編集を始める前にすべて目を通してください。

基本的な編集方針

全体で共通

編集者向けメニューを除いて、文章はだ・である体で統一
適度な句読点・改行・漢字を用いて見やすい文章に
英数字は原則としてすべて半角(カード名や丸数字によるログコスト表記は例外)
不明瞭な記述や憶測による断定は書かない
ページ更新の際にはできるだけ、最終行にコメントで編集した部分の要約を記入

記号の扱い

全ページ共通で、記号は以下の通りに統一します。

ページ名とカード性能表以外でのログコスト表記は①②など丸付き数字
カード名は《》、カード名でページ名を作る場合は《》を含まない
二つ名は、そのページで初出の場合は記入してもよく、2回目以降はカード名のみ
商品名・カード名に含まれるスペースは全角で統一
バージョンは《弐式 神通力 雷火》や《Version2 ベリトの闇の鎧》のように表記
バージョンやサブエフェクト違いのカードは、初出のカードの子属性ページとして#include記法で表記
アビリティは『』
アビリティやサブエフェクトの効果量等は【】
追加コストは〈コスト:〉
Triggerアビリティの誘発条件は[]
タイミング表記は、総合ルールに従い「Ac」と「Re」のみ「」
他のタイミングは《》
強化、衰弱、刻印、サブエフェクトは「」
無制限アビリティの電源マークはΦ(全角大文字ファイ)
チェックコストの矢印マークは↷(&#8631; 記号は半角)
刻印マークは✥("アスタリスク"を変換キーで変換して下さい)
デッキ集に記載するデッキのアーキタイプは【】
商品名は「」で、エキスパンションはChapter○で表記
Mサイズユニットのカード名に含まれるⅡは《モナカ II》のようにII(大文字アイ2個)
カード名でリンクを作成する場合、《[[]]》とする(《》はリンクに含まない)

リンクの扱い

各ページにおいて、用語や俗語、カード名でリンクを作成する場合、以下の規則に従ってリンクを作成します。

そのページで初出の用語等ではリンクを作成する
2回目以降の用語等では、何らかの明確な理由がないかぎりリンクを作成しない
用語等を使っていても、リンク先の用語とは別の用途で使用されている場合は、初出であってもリンクを作成しない
(文脈を無視して盲目的にリンクを作成してはいけない)

include記法

行頭に#include(持ってくるページの名前,notitle)と記述することで、あるページに他のページの内容を持ってくることができます。
このinclude記法を利用することで、逆引きカードリストをwiki全体で使いまわしたり、特定のテンプレートを流用したりできます。

子属性

親にしたいページで「新規」を選び、作成するページ名を「./作成したいページ名」にすることで、子属性を持つページを作成できます。
子属性を持つページは「用語集/ユニット」のように、親ページに付属して扱われ、そのページが親ページに関連するページであることを明確にします。

各カテゴリーの説明

掲示板

編集に関わる諸々を取り扱う掲示板です。

SandBox

編集を練習するためのページです。

テンプレート

カードデータやデッキレシピなどを記述するテンプレートを保管するページです。
子属性ページとして、各ページに#includeするテンプレートを持ちます。

セット・スターター一覧

現在までに発売されたカードセットやスターターデッキ等をまとめるカテゴリーです。
「いつ発売されたか」「その商品でどのような要素が追加されたか」などを記述します。

ページ名は、エキスパンションは「Chapter1 神をも恐れぬ者たち」のように「Chapter○ (全角スペース)エキスパンション名」
スターターデッキは「スターターデッキ 紅蓮ノ劔」のように「スターターデッキ (全角スペース)デッキ名」で統一

カード個別評価

現在までに存在するカードすべてに対し、個別に解説を行うカテゴリーです。
各カードについて、その性能や用途、ルール上の注意点、神話の概要、関連カードなどを記述します。

「見たままのことだけ書いた記事にしない」
「短すぎる記事・酷評だけの記事にしない」
「編集内容には責任をもって、間違ったことを記事にしない」
「後から見ても誰が見ても誤解のない記事にする」
「個人の思想・思考に偏らず、普遍的な記事にする」

上記を心がけて編集してください。

関連項目の基準

関連項目としてカード名へのリンク作成や逆引きカードリストのincludeを行う場合、以下の基準で作成します。

相棒神格など、明確に関連があるカードは関連項目としてリンクを作成する。
サイズ違い同性能、コスト違い類似性能については、各カードごとに関連があるかを判断する
そのユニット固有のアビリティについては、アビリティの逆引きカードリストをincludeしない
逆引きカードリストに項目がないもの、あるいは記述がないものをincludeしない(includeする場合は自分で作ること)

逆引きカードリスト

サイクルを形成していたり、類似する点があったりするカードをまとめるカテゴリーです。
主に#include記法で引用するために利用します。

デッキ集

現在までに成立したデッキのアーキタイプを解説するカテゴリーです。
ショップ大会などで優勝したデッキレシピを掲載するのではなくアーキタイプとしての紹介にとどめ、デッキレシピはあくまでサンプルとして利用します。

ルール

ドレッドノートのルールやルール用語を解説するカテゴリーです。

用語集・俗語

様々な用語について解説するカテゴリーです。
ルール上あるいはデータ上存在する用語は「用語集」で、
コミュニティなどでのみ使用される、あるいは正式でない用語は「俗語」で、
それぞれ取り扱います。

ドレッドノートの歴史

ドレッドノートの商品・大規模大会の履歴や、優勝したデッキなどを紹介するカテゴリーです。
優勝デッキのレシピは、このページの子として作成し、#includeせず独自ページとして記述します。

リンク集

公式、非公式のドレッドノート関連リンクを紹介するカテゴリーです。
リンクの分類ごとに、このページの子として作成し、#include記法で記述します。

タイムスタンプの変更

「タイムスタンプを変更しない」チェックをONにすることで、「最近の20件」に表示されずにページを更新することが可能です。
以下のような些細な編集に際しては、この機能を利用することを推奨します。

誤字、脱字の修正
全角英数字の半角化
リンク記法の誤りの修正

一方、以下のような大きな編集に際しては、この機能を利用しないでください。

誤った情報やルーリングに基づく記述の訂正
新しい節や関連項目の追加
同名同性能別サブエフェクトなど、小さな変更点のあるカードの節の追加

また、更新個所は「差分」で辿ることが可能ですが、何段階もさかのぼって差分を確認するのは編集者の負担となります。
誤字脱字がないかなどは、編集段階で十分に注意してください。





*1 Get-Date).ToString(
*2 CASE WHEN [$DBNAME_MAP].sys.database_permissions.class = 0 THEN $DBNAME_MAP COLLATE DATABASE_DEFAULT WHEN [$DBNAME_MAP].sys.database_permissions.class = 1 then case when [$DBNAME_MAP].sys.database_permissions.minor_id = 0 then object_name([$DBNAME_MAP].sys.database_permissions.major_id) COLLATE DATABASE_DEFAULT else (SELECT object_name([$DBNAME_MAP].sys.columns.[object_id]) COLLATE DATABASE_DEFAULT + .+ [$DBNAME_MAP].sys.columns.name COLLATE DATABASE_DEFAULT FROM [$DBNAME_MAP].sys.columns where [$DBNAME_MAP].sys.columns.[object_id] = [$DBNAME_MAP].sys.database_permissions.major_id and [$DBNAME_MAP].sys.columns.column_id = [$DBNAME_MAP].sys.database_permissions.minor_id) end WHEN [$DBNAME_MAP].sys.database_permissions.class = 3 THEN SCHEMA_NAME([$DBNAME_MAP].sys.database_permissions.major_id) COLLATE DATABASE_DEFAULT WHEN [$DBNAME_MAP].sys.database_permissions.class = 4 THEN USER_NAME([$DBNAME_MAP].sys.database_permissions.major_id) COLLATE DATABASE_DEFAULT END) AS nvarchar(1000
*3 CASE WHEN ([$DBNAME_MAP].sys.database_permissions.class= 1 AND [$DBNAME_MAP].sys.database_permissions.minor_id = 0) then COALESCE((SELECT [$DBNAME_MAP].sys.all_objects.type_DESC FROM [$DBNAME_MAP].sys.all_objects WHERE [$DBNAME_MAP].sys.all_objects.[object_id] = [$DBNAME_MAP].sys.database_permissions.major_id),Object COLLATE DATABASE_DEFAULT) When [$DBNAME_MAP].sys.database_permissions.class= 1 then Column COLLATE DATABASE_DEFAULT else [$DBNAME_MAP].sys.database_permissions.class_desc COLLATE DATABASE_DEFAULT END) as nvarchar(1000

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-12-11 (水) 02:25:34