1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Microsoft Windows PowerShell và SQL Server 2005 SMO – Phần 3 docx

10 431 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Microsoft Windows PowerShell và SQL Server 2005 SMO – Phần 3
Thể loại Tài liệu
Định dạng
Số trang 10
Dung lượng 506,09 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chính sách thực thi 4 loại chính sách thực thi khác nhau của Windows PowerShell là Restricted, AllSigned, RemoteSigned và Unrestricted.. Chúng ta sẽ tìm chính sách thực thi của Windows

Trang 1

The MAK

Phần I và Phần II của loạt bài này đã chỉ dẫn các thiết lập PowerShell và SMO, các cmdlet WMI đơn giản Phần 3 này sẽ giới thiệu cách viết mã cho cmdlet PowerShell và thực thi chúng Mã kịch bản là yếu tố cần thiết cho các thao tác tự động và lặp đi lặp lại

Chính sách thực thi

4 loại chính sách thực thi khác nhau của Windows PowerShell là Restricted, AllSigned, RemoteSigned và Unrestricted Chúng ta sẽ tìm chính sách thực thi của Windows PowerShell trên vùng làm việc [Hình 1.0]

Cmdlet:

Get-executionpolicy

Kết quả:

Restricted

Hình 1.0 Giả sử ta có dòng code sau trên PowerShell script 'a.ps1' [Hình 1.1]

Echo “test”

Trang 2

Hình 1.1 Nếu thử thực hiện mã lệnh khi chính sách thực thi của PowerShell là restricted, thì sẽ xuất hiện thông báo lỗi sau [Hình 1.2]

Lệnh thực hiện mã PowerShell

/a.ps1

Kết quả

File C:\ps\a.ps1 cannot be loaded because the execution of scripts is disabled

on this system Please see "get-help about_signing" for more details

At line:1 char:3

+ /a <<<<

Hình 1.2 Hãy thay đổi chính sách thực thi thành unrestricted Lệnh thực hiện mã

PowerShell đã có thể được thi hành bởi cmdlet sau [Hình 1.3]

Trang 3

Bây giờ hãy thử thực thi đoạn mã a.ps1 như hiển thị trong hình dưới đây [Hình 1.4]

Lệnh

./a

Kết quả

Test

Hình 1.4

Điều khiển Input trong mã PowerShell

Khi thực hiện các thao tác lặp đi lặp lại, chúng ta thích ứng dụng để tương tác hơn và xây dựng ứng dụng để đòi hỏi đầu vào từ người sử dụng Ta có thể thực hiện tương tự với PowerShell

Hãy tạo một mã PowerShell chấp nhận tên của trường SQL Server và tên cơ sở

dữ liệu Ngoài ra, hãy để PowerShell hiển thị tất cả các bảng trên cơ sở dữ liệu

đó Điều này có thể được thực hiện với cmdlet read-host

Thí dụ 1: [Hình 1.5]

Read-host “Please Enter Second Number”

Trang 4

Hình 1.5 Thí dụ 2

Chúng ta có thể gán giá trị cmdlet là một biến số [Hình 1.6]

$a=read-host "Please Enter Second Number" $a

Hình 1.6 Kết hợp thí dụ 1 và thí dụ 2 kết nối với SQL Server

Tạo mã PowerShell có tên connectsql.ps1 [Hình 1.7]

$SQLSERVER=read-host "Enter SQL Server Name:"

$Database=read-host "Enter Database Name:"

$SqlConnection = New-Object

System.Data.SqlClient.SqlConnection

$SqlConnection.ConnectionString =

"Server=$SQLSERVER;Database=$DATABASE;Integrated

Security=True"

$SqlCmd = New-Object System.Data.SqlClient.SqlCommand

$SqlCmd.CommandText = "select name from sysobjects where type='u'"

$SqlCmd.Connection = $SqlConnection

$SqlAdapter = New-Object

System.Data.SqlClient.SqlDataAdapter

$SqlAdapter.SelectCommand = $SqlCmd

$DataSet = New-Object System.Data.DataSet

$SqlAdapter.Fill($DataSet)

Trang 5

Hình 1.7 Bây giờ hãy thực hiện mã connectsql.ps1 trên [Hình 1.8]

./connectsql

Enter SQL Server Name:: HOME\SQLEXPRESS

Enter Database Name:: AdventureWorks

Chú ý: HOME là máy chủ và SQLEXPRESS là tên ví dụ của SQL Server Hãy

thay thế tên này bằng tên máy chủ và SQL Server của bạn AdventureWorks là tên cơ sở dữ liệu Bạn cũng chú ý thay thế tên cơ sở dữ liệu này cho tương ứng với tên cơ sở dữ liệu trên máy chủ

Trang 6

Hình 1.8

Mã connectsql gán giá trị được nhập vào các biến $SQLSERVER và

$DATABASE, kết nối chuỗi sử dụng các biến đó và hiển thị ra kết quả

Kết quả:

name

ProductProductPhoto

StoreContact

Address

ProductReview

TransactionHistory

AddressType

ProductSubcategory

AWBuildVersion

TransactionHistoryArchive

ProductVendor

BillOfMaterials

UnitMeasure

Vendor

PurchaseOrderDetail

Contact

Trang 7

PurchaseOrderHeader

ContactCreditCard

WorkOrder

ContactType

CountryRegionCurrency

WorkOrderRouting

CountryRegion

CreditCard

Culture

Currency

SalesOrderDetail

CurrencyRate

Customer

SalesOrderHeader

CustomerAddress

Department

Document

Employee

SalesOrderHeaderSalesReason SalesPerson

EmployeeAddress

EmployeeDepartmentHistory EmployeePayHistory

SalesPersonQuotaHistory Illustration

SalesReason

Individual

SalesTaxRate

JobCandidate

Location

SalesTerritory

Product

SalesTerritoryHistory

ScrapReason

Shift

ProductCategory

ShipMethod

ProductCostHistory

ProductDescription

ShoppingCartItem

ProductDocument

ProductInventory

Trang 8

SpecialOffer

ProductListPriceHistory

SpecialOfferProduct

ProductModel

StateProvince

ProductModelIllustration

DatabaseLog

ProductModelProductDescriptionCulture

ErrorLog

Store

ProductPhoto

Tuy nhiên, khi viết mã tự động, bạn không muốn người dùng nhập dữ liệu Thay vào đó, ta nên chấp nhận các tham số

Hãy nâng cấp đoạn mã trên bằng cách chấp nhận các tham số.[Hình 1.9]

param (

[string] $SQLSERVER,

[string] $Database

)

$SqlConnection = New-Object

System.Data.SqlClient.SqlConnection

$SqlConnection.ConnectionString =

"Server=$SQLSERVER;Database=$DATABASE;Integrated

Security=True"

$SqlCmd = New-Object System.Data.SqlClient.SqlCommand

$SqlCmd.CommandText = "select name from sysobjects where type='P'"

$SqlCmd.Connection = $SqlConnection

$SqlAdapter = New-Object

System.Data.SqlClient.SqlDataAdapter

$SqlAdapter.SelectCommand = $SqlCmd

$DataSet = New-Object System.Data.DataSet

$SqlAdapter.Fill($DataSet)

$SqlConnection.Close()

$DataSet.Tables[0]

Trang 9

Thực hiện các đoạn mã như hình dưới [Hình 2.0]

Hình 2.0

connectsql gán các giá trị như một tham số tới các biến riêng biệt $SQLSERVER

và $DATABASE, kết nối các chuỗi sử dụng các biến đó và hiển thị ra kết quả Kết quả

name

Trang 10

uspPrintError

uspLogError

uspGetBillOfMaterials

uspGetEmployeeManagers

uspGetManagerEmployees

uspGetWhereUsedProductID uspUpdateEmployeeHireInfo uspUpdateEmployeeLogin

uspUpdateEmployeePersonalInfo

 

Ngày đăng: 22/12/2013, 02:16

HÌNH ẢNH LIÊN QUAN

Hình 1.0   Giả sử ta có dòng code sau trên PowerShell script 'a.ps1'. [Hình 1.1] - Tài liệu Microsoft Windows PowerShell và SQL Server 2005 SMO – Phần 3 docx
Hình 1.0 Giả sử ta có dòng code sau trên PowerShell script 'a.ps1'. [Hình 1.1] (Trang 1)
Hình 1.2   Hãy thay đổi chính sách thực thi thành unrestricted. Lệnh thực hiện mã - Tài liệu Microsoft Windows PowerShell và SQL Server 2005 SMO – Phần 3 docx
Hình 1.2 Hãy thay đổi chính sách thực thi thành unrestricted. Lệnh thực hiện mã (Trang 2)
Hình 1.5   Thí dụ 2 - Tài liệu Microsoft Windows PowerShell và SQL Server 2005 SMO – Phần 3 docx
Hình 1.5 Thí dụ 2 (Trang 4)
Hình 1.7  Bây giờ hãy thực hiện mã connectsql.ps1 trên. [Hình 1.8] - Tài liệu Microsoft Windows PowerShell và SQL Server 2005 SMO – Phần 3 docx
Hình 1.7 Bây giờ hãy thực hiện mã connectsql.ps1 trên. [Hình 1.8] (Trang 5)
Hình 1.9   Thực hiện các đoạn mã như hình dưới. [Hình 2.0] - Tài liệu Microsoft Windows PowerShell và SQL Server 2005 SMO – Phần 3 docx
Hình 1.9 Thực hiện các đoạn mã như hình dưới. [Hình 2.0] (Trang 9)

TỪ KHÓA LIÊN QUAN

w