木馬学習ホームページ


SELECT @@VERSION
SELECT name FROM master.dbo.sysdatabases
SELECT DB_NAME()
SELECT IS_SRVROLEMEMBER('sysadmin')
IS_SRVROLEMEMBER ( 'role' [ , 'login' ] )
現在のユーザー・ログインが指定したサーバー・ロールのメンバーであるかどうかを示します.
IS_SRVROLEMBERは、次の3つの値を返します.
戻り値
説明
0
loginはroleのメンバーではありません.
1
loginはroleのメンバーです.
NULL
roleまたはloginは無効です.
 
SELECT IS_MEMBER('db_owner')
IS_MEMBER ( { 'group' | 'role' } )
現在のユーザーがMicrosoftを指定しているかどうかを示します.® Windows NT® グループまたはMicrosoft SQLサーバ™ ロールのメンバー.
 
パラメータ
'group'
チェックされたWindows NTグループの名前.Domain/Groupというフォーマットが必要です.groupのデータ型はsysnameです.
'role'
チェックされたSQL Serverロールの名前.roleのデータ型はsysnameで、データベースの固定ロールまたはユーザー定義ロールを含むことができますが、サーバロールは含まれません.
IF IS_MEMBER ('db_owner') = 1
   print 'Current user is a member of the db_owner role'
ELSE IF IS_MEMBER ('db_owner') = 0
   print 'Current user is NOT a member of the db_owner role'
ELSE IF IS_MEMBER ('db_owner') IS NULL
   print 'ERROR: Invalid group / role specified'

 
 
 
OleDbConnection.GetOleDbSchemaTableメソッド
指定された制約が適用された後、GUIDの指示に従ってデータソースからアーキテクチャ情報が返される.
 
 
static DataTable GetSchemaTable(string connectionString)
{
    using (OleDbConnection connection = new
               OleDbConnection(connectionString))
    {
        connection.Open();
        DataTable schemaTable = connection.GetOleDbSchemaTable(
            OleDbSchemaGuid.Tables,
            new object[] { null, null, null, "TABLE"});
        return schemaTable;
    }
}
OleDbSchemaGuid.Tables
ディレクトリで定義されたテーブル(ビューを含む)を返し、特定のユーザーがアクセスできるようにします.
 
TableはOLE DB TABLES行セットにマッピングされる.特に指定しない限り、制限カラムは次の順序で返されます.
制限列
CLRデータ型
説明
TABLE_CATALOG
string
ディレクトリ名.プロバイダがディレクトリをサポートしていない場合はnull値です.
TABLE_SCHEMA
string
非限定のスキーマ名.プロバイダがアーキテクチャをサポートしていない場合はnull値です.
TABLE_NAME
string
テーブル名.返されるカラムにnull値を含めることはできません.
TABLE_TYPE
string
表のタイプ.「ALIAS」、「TABLE」、「SYNONYM」、「SYSTEM TABLE」、「VIEW」、「GLOBAL TEMPORARY」、「LOCAL TEMPORARY」または「SYSTEM VIEW」のいずれかまたは提供プログラム固有の値.返されるカラムにnull値を含めることはできません.
TcpClientクラス
TCPネットワークサービスにクライアント接続を提供します.
TcpClientクラスは、同期ブロッキングモードでネットワークを介してストリームデータを接続、送信、受信するための簡単な方法を提供する.
TcpClient.ReceiveBufferSizeプロパティ
受信バッファのサイズを取得または設定します.
受信バッファのサイズ(バイト単位).デフォルトは8192バイトです.
TcpClient.GetStreamメソッド
GetStreamは、データの送信および受信に使用できるNetworkStreamを返します.NetworkStreamクラスはStreamクラスから継承され、後者はネットワーク通信に便利な方法と属性を大量に提供します.
まずConnectメソッドを呼び出す必要があります.そうしないと、GetStreamメソッドはInvalidOperationExceptionを開始します.NetworkStreamを取得したら、Writeメソッドを呼び出してリモートホストにデータを送信します.Readメソッドを呼び出して、リモートホストから送信されたデータを受信する必要があります.どちらの方法も、指定した操作が実行されるまでブロックされます.DataAvailableプロパティを確認することで、読み込み操作のブロックを回避できます.true値は、データがリモートホストから到着し、読み取り可能であることを示します.これにより、直ちにReadを完了することが保証されます.リモートホストが接続をオフにすると、Readはすぐにゼロバイトを返します.
 
 
ポートスキャンのコード
protected string Bin_Scan(string ip, int port)
    {
       
        string scanres = "";
        TcpClient tcp = new TcpClient();
        tcp.SendTimeout = tcp.ReceiveTimeout = 2000;
        try
        {
            tcp.Connect(ip, port);
            tcp.Close();
            scanres = ip + ": "+ port + "................................. Open";
        }
        catch (SocketException e)
        {
            scanres = ip + ": "+ port + "................................. Close";
        } 
        return scanres;
}
 
レジストリのコードを読み込む
try
        {
            string regkey = Bin_KeyTextBox.Text;
            string subkey = regkey.Substring(regkey.IndexOf("//") + 1, regkey.Length - regkey.IndexOf("//") - 1);
            RegistryKey rk = null;
            if (regkey.Substring(0, regkey.IndexOf("//")) == "HKEY_LOCAL_MACHINE")
            {
                rk = Registry.LocalMachine.OpenSubKey(subkey);
            }
            if (regkey.Substring(0, regkey.IndexOf("//")) == "HKEY_CLASSES_ROOT")
            {
                rk = Registry.ClassesRoot.OpenSubKey(subkey);
            }
            if (regkey.Substring(0, regkey.IndexOf("//")) == "HKEY_CURRENT_USER")
            {
                rk = Registry.CurrentUser.OpenSubKey(subkey);
            }
            if (regkey.Substring(0, regkey.IndexOf("//")) == "HKEY_USERS")
            {
                rk = Registry.Users.OpenSubKey(subkey);
            }
            if (regkey.Substring(0, regkey.IndexOf("//")) == "HKEY_CURRENT_CONFIG")
            {
                rk = Registry.CurrentConfig.OpenSubKey(subkey);
            }
 
            Bin_RegresLabel.Text = "
Result : "+ rk.GetValue(Bin_ValueTextBox.Text, "NULL").ToString();
        }
        catch (Exception error)
        {
            Bin_Error(error.Message);
        }
 
RegistryKey.OpenSubKeyメソッド
サブアイテムを読み取り専用で取得します.
RegistryKey.GetValueメソッド(String,Object)
指定した名前に関連付けられた値を取得します.名前が見つからない場合は、指定したデフォルト値が返されます.