麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > PowerShell > 正文

PowerShell連接SQL SERVER數據庫進行操作的實現代碼

2020-03-26 19:07:09
字體:
來源:轉載
供稿:網友

核心代碼

#配置信息$Database	= 'DemoDB'$Server		= '"WIN-AHAU9NO5R6U/DOG"'$UserName	= 'kk'$Password	= '123456'#創建連接對象$SqlConn = New-Object System.Data.SqlClient.SqlConnection#使用賬號連接MSSQL$SqlConn.ConnectionString = "Data Source=$Server;Initial Catalog=$Database;user id=$UserName;pwd=$Password"#或者以 windows 認證連接 MSSQL#$SqlConn.ConnectionString = "Data Source=$Server;Initial Catalog=$Database;Integrated Security=SSPI;"#打開數據庫連接$SqlConn.open()#執行語句方法一$SqlCmd = New-Object System.Data.SqlClient.SqlCommand$SqlCmd.connection = $SqlConn$SqlCmd.commandtext = 'delete top(1) from dbo.B'$SqlCmd.executenonquery()#執行語句方法二$SqlCmd = $SqlConn.CreateCommand()$SqlCmd.commandtext = 'delete top(1) from dbo.B'$SqlCmd.ExecuteScalar()#方法三,查詢顯示$SqlCmd.commandtext = 'select name,recovery_model_desc,log_reuse_wait_desc from sys.databases'$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter$SqlAdapter.SelectCommand = $SqlCmd$set = New-Object data.dataset$SqlAdapter.Fill($set)$set.Tables[0] | Format-Table -Auto #關閉數據庫連接$SqlConn.close()

下面是來自微軟的官方幫助文檔:Windows PowerShell:使用 PowerShell 處理數據庫

您可以使用一些 Windows PowerShell 代碼來配置您的數據庫,以存儲您所需的信息。

Don Jones

數據庫是數據存儲之王。 那么為什么不利用這些數據庫,如 SQL Server 存儲一些可以使您的生活更輕松的管理信息的呢? 您可以存儲服務器名稱、 Windows 版本、 服務包級別、 最后一個管理員登錄、 這種東西。
它是與 Windows PowerShell,都是很容易,因為您可以使用它來本機訪問 Microsoft 基礎數據庫功能。NET 框架。 這現在看上去不太像 Windows PowerShell 腳本和更多像一個 C# 程序。 不過,您所需要的代碼是很容易模板。 你可以帶我來你這里與幾個次要的改變它適應幾乎任何情況。

用于 SQL 腳本

讓我們假設您有一個名為 SYSINFO 的 SQL Server 2008 數據庫。 數據庫已命名服務器的表。 該表已五列: 服務器名稱、 用戶名、 LastLogon、 原因和 SPVersion。 這可以是大多是簡單的文本列的 varchar 類型。
然而,使 LastLogon 日期時間列。 它現在使用 SQL Server 設置為其默認值的函數。 這樣,每次添加新行,它將包含當前日期和時間,而不需要您手動指定。 使原因列 varchar(MAX),如有必要,它可以包含文本,很多。
創建登錄腳本在組策略對象 (GPO),將 GPO 鏈接到您的服務器所在的組織單位 (OU)。 每次有人登錄到服務器運行該腳本時。 使用 Windows PowerShell 腳本,您可以在任何裝有 Windows PowerShell 2.0 的計算機上的東西。 您需要確保您已經從 Windows Server 2008 R2 (或 Windows 7 遠程服務器管理工具包或寄宿) 來編輯該 GPO 時有基于 Windows PowerShell 登錄腳本選項的 GPO 模板。
這里是您需要的腳本。 請注意我使用 ↵ 來指示應在此按 enter 鍵。 僅按 enter 鍵時你來該符號,如果您希望它能正常工作 (您可以將復制的 HTML 使用符號 & crarr ; 實體):

$reason = Read-Host 'Reason are you logging on'↵$reason.replace("'","''")↵

這兩行提示有人為他們正在登錄到服務器的原因 — — 這一點是相當重要的跟蹤。 替換功能會將任何單引號替換使用兩個單引號,確保我們稍后構建的 SQL 語句將正常工作。 這并不被為了故意 SQL 注入式攻擊的防范。 畢竟,我們談論受信任的管理員,正確嗎?

此線將檢索操作系統的信息:

$os = Get WmiInfo Win32_OperatingSystem↵

在這里重要的數據是服務器的名稱和其當前的服務包版本。 您可能還需要 BuildNumber 屬性,告訴您您正在處理的 Windows 版本。
此線加載的一部分。負責處理數據庫的.NET 框架:

[assembly.reflection]::loadwithpartialname ('System.Data ') ↵

這些行創建新的數據庫連接:

$conn = New-Object System.Data.SqlClient.SqlConnection↵$conn.ConnectionString = "Data Source=SQLSERVER;Initial Catalog=SYSINFO;Integrated Security=SSPI;"↵

如果您不使用 SQL Server 2008,連接字符串可能會有點不同 (訪問ConnectionStrings.com來查找各種不同的數據庫的連接字符串示例):

$conn.open () ↵

現在該連接是打開并可供使用。

這兩條線創建是我將使用 SQL 服務器發送查詢的 SQL 命令。 我已經設置其連接屬性設置為"打開",以便 Windows PowerShell 已實際發送命令的方式:

$cmd = New-Object System.Data.SqlClient.SqlCommand↵$cmd.connection = $conn↵

這所有辛勤的工作。 它創建一個 SQL"插入"查詢到數據庫表中插入新行。 請注意我使用 – f 格式設置運算符將四條信息插入到查詢。 信息被插入 {x} 占位符,它提供如下操作員的逗號分隔列表中的順序相同:

$cmd.commandtext = "INSERT INTO servers (servername,username,spversion,reason) VALUES('{0}','{1}','{2}','{3}')" -f$os.__SERVER,$env.username,$os.servicepackmajorversion,$reason↵

現在我會執行查詢,并關閉數據庫連接:

$cmd.executenonquery()↵$conn.close()↵

請確保您關閉該連接或你得打你一頓頭的后面的數據庫管理員。 您將看到對ConnectionStrings.com,您可以訪問大量的數據庫。
如果您使用 SQL Server 以外,你得改改"OleDb"對象名稱"SqlClient"部分。 此外,它已不推薦使用基于文件的數據庫訪問像。 為之一,以獲取驅動程序,你得要上安裝,訪問您的服務器,這將是一個可怕的想法。 另一種,這些數據庫的性能達不到您將需要為此工作好的水平。

如果你沒有可以承載數據庫的 SQL Server 實例,獲取一份快遞版安裝的地方。 這足夠低的這種技術將可能產生的交通。
很明顯,您可以修改此做相當多的技術。 可以將列添加到數據庫,并讓您的腳本收集其他信息。 您需要做的一件事是精通 SQL 語言本身。 您不需要的大師,但你要能夠編寫基本的查詢。
如果您需要上 (在此級別工作的幾乎相同每個主要的數據庫平臺) 的 SQL 語言入門,簽出這視頻系列創建行業標準 SQL 語言提供了完整的教程。 它還包括像 SQL Server、 Oracle、 MySQL 平臺之間的主要差異,等等。
這里是整個腳本:

$reason = Read-Host 'Reason are you logging on'↵$reason.replace("'","''")↵$os = Get-WmiInfo Win32_OperatingSystem↵[assembly.reflection]::loadwithpartialname('System.Data')↵$conn = New-Object System.Data.SqlClient.SqlConnection↵$conn.ConnectionString = "Data Source=SQLSERVER;Initial Catalog=SYSINFO;Integrated Security=SSPI;"↵$conn.open()↵$cmd = New-Object System.Data.SqlClient.SqlCommand↵$cmd.connection = $conn↵$cmd.commandtext = "INSERT INTO servers (servername,username,spversion,reason) VALUES('{0}','{1}','{2}','{3}')" -f $os.__SERVER,$env.username,$os.servicepackmajorversion,$reason↵$cmd.executenonquery()↵$conn.close()↵

 

 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: av在线播放亚洲 | 日韩99 | 国产精品久久久久久影视 | 逼特逼视频在线观看 | 嫩草91在线 | 免费看一级毛片欧美 | 日本在线不卡免费 | 日韩黄色成人 | 欧美a欧美 | 在线观看福利网站 | 国产精品视频免费在线观看 | 黄网站色成年大片免费高 | 精品亚洲午夜久久久久91 | 欧美成人午夜 | 国产一区二区三区欧美 | 欧美一级免费在线观看 | 国产精品午夜未成人免费观看 | 青青草成人免费视频在线 | 色偷偷一区 | 国产精品啪一品二区三区粉嫩 | 亚洲午夜不卡 | 久久精品男人 | 在线观看视频毛片 | 91精品国产乱码久久久久久久久 | 欧美一级网 | 色播视频网站 | 舌头伸进添的我好爽高潮网站 | 久久国产精品久久久久久久久久 | 伊人99在线 | 精国产品一区二区三区四季综 | 欧美aaaaa一级毛片在线 | 在线观看福利网站 | 在线天堂中文字幕 | 亚洲性生活视频 | 爱操在线 | 羞羞答答视频 | 黄网站免费观看视频 | 国产精品久久久毛片 | 精品欧美一区二区精品久久 | 视频国产一区二区 | 日韩黄色免费在线观看 |