ИЛ
Size: a a a
ИЛ
ИЛ
AM
ИЛ
ИЛ
AM
ИЛ
ДС
ИЛ
SK
## $VerbosePreference = 'Continue'база (права dbwriter на Domain Computers)
## [System.Threading.Thread]::CurrentThread.CurrentCulture = [System.Globalization.CultureInfo]"en-US"
$File = @(
"\\dc01\SYSVOL\lab.local\10mb.txt"
"\\dc02\SYSVOL\lab.local\10mb.txt"
"\\dc05\SYSVOL\lab.local\10mb.txt"
"\\dc06\SYSVOL\lab.local\10mb.txt"
) | Get-Random
$File = get-item $File
if ($false -eq [bool]$File) {return 1}
$ReadTest = Measure-Command {
Get-Content -Path $File
}
$ReadMbps = [Math]::Round((($File.Length * 8) / $ReadTest.TotalSeconds) / 1048576, 2)
Write-Verbose "env:computername = $env:computername"
Write-Verbose "ReadMbps = $ReadMbps"
Try {
#Define connction string of target database
$connectionString = 'Data Source=sql-server;Initial Catalog=ClientBandwidth;Integrated Security=SSPI'
# connection object initialization
$conn = New-Object System.Data.SqlClient.SqlConnection($connectionString)
#Open the Connection
$conn.Open()
# Prepare the SQL
$cmd = $conn.CreateCommand()
$cmd.CommandText = "INSERT INTO [ClientBandwidth].[dbo].[Bandwidth](Name,Mbps) VALUES (@Name, @Mbps)"
$cmd.Parameters.Add("@Name", $env:computername) | Out-Null
$cmd.Parameters.Add("@Mbps", $ReadMbps) | Out-Null
$Res = $cmd.ExecuteNonQuery()
#Close the connection
$conn.Close()
if ($Res -ne 1) { return 2 } else { return 0 }
}
Catch {
Throw $_
return 3
}
USE [ClientBandwidth]
GO
/****** Object: Table [dbo].[Bandwidth] Script Date: 2020-04-10 15:49:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Bandwidth](
[DateTime] [datetime] NOT NULL,
[Name] [nvarchar](50) NOT NULL,
[Mbps] [float] NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Bandwidth] ADD CONSTRAINT [DF_Bandwidth_DateTime] DEFAULT (getdate()) FOR [DateTime]
GO
ALTER TABLE [dbo].[Bandwidth] ADD CONSTRAINT [DF_Bandwidth_Mbps] DEFAULT ((0)) FOR [Mbps]
GO
Q
Q
Q
SG
SG
SK
## $VerbosePreference = 'Continue'база (права dbwriter на Domain Computers)
## [System.Threading.Thread]::CurrentThread.CurrentCulture = [System.Globalization.CultureInfo]"en-US"
$File = @(
"\\dc01\SYSVOL\lab.local\10mb.txt"
"\\dc02\SYSVOL\lab.local\10mb.txt"
"\\dc05\SYSVOL\lab.local\10mb.txt"
"\\dc06\SYSVOL\lab.local\10mb.txt"
) | Get-Random
$File = get-item $File
if ($false -eq [bool]$File) {return 1}
$ReadTest = Measure-Command {
Get-Content -Path $File
}
$ReadMbps = [Math]::Round((($File.Length * 8) / $ReadTest.TotalSeconds) / 1048576, 2)
Write-Verbose "env:computername = $env:computername"
Write-Verbose "ReadMbps = $ReadMbps"
Try {
#Define connction string of target database
$connectionString = 'Data Source=sql-server;Initial Catalog=ClientBandwidth;Integrated Security=SSPI'
# connection object initialization
$conn = New-Object System.Data.SqlClient.SqlConnection($connectionString)
#Open the Connection
$conn.Open()
# Prepare the SQL
$cmd = $conn.CreateCommand()
$cmd.CommandText = "INSERT INTO [ClientBandwidth].[dbo].[Bandwidth](Name,Mbps) VALUES (@Name, @Mbps)"
$cmd.Parameters.Add("@Name", $env:computername) | Out-Null
$cmd.Parameters.Add("@Mbps", $ReadMbps) | Out-Null
$Res = $cmd.ExecuteNonQuery()
#Close the connection
$conn.Close()
if ($Res -ne 1) { return 2 } else { return 0 }
}
Catch {
Throw $_
return 3
}
USE [ClientBandwidth]
GO
/****** Object: Table [dbo].[Bandwidth] Script Date: 2020-04-10 15:49:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Bandwidth](
[DateTime] [datetime] NOT NULL,
[Name] [nvarchar](50) NOT NULL,
[Mbps] [float] NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Bandwidth] ADD CONSTRAINT [DF_Bandwidth_DateTime] DEFAULT (getdate()) FOR [DateTime]
GO
ALTER TABLE [dbo].[Bandwidth] ADD CONSTRAINT [DF_Bandwidth_Mbps] DEFAULT ((0)) FOR [Mbps]
GO
SELECT cast([DateTime] as date) as Date,b.[Name], avg(b.[Mbps]) as bandwidth, s.User_Name0
FROM [ClientBandwidth].[dbo].[Bandwidth] b
join [CM_<COD>].[dbo].[vSMS_R_System] s
on b.[Name] = s.Netbios_Name0
where cast([DateTime] as date) = cast(getdate()-1 as date)
group by b.[Name], s.User_Name0, cast([DateTime] as date)
order by avg(b.[Mbps])</CommandText>
ИЛ
SK
ИЛ
S