我有一个SQL 2008 Ent服务器,服务器DEVSQLSRV上有数据库"DBOne","DBTwo","DBThree".
这是我的Powershell脚本:
$DBNameList = (Invoke-SQLCmd -query "select Name from sysdatabases" -Server DEVSQLSRV)
Run Code Online (Sandbox Code Playgroud)
这产生了我想要的数据库名称列表:
Name
-----
DBOne
DBTwo
DBThree
Run Code Online (Sandbox Code Playgroud)
我一直认为,作为列表返回的任何内容都是Powershell中的数组.但是,当我在Powershell中尝试这个时:
$DBNameList -contains 'DBTwo'
Run Code Online (Sandbox Code Playgroud)
它返回有"False"而不是"True",这让我相信我的列表不是一个真正的数组.
知道我在这里缺少什么吗?
非常感谢!
情绪
我试图获取文本doc中每行的字符数.我的文档文档的内容是:
1
15
69
124
300
Run Code Online (Sandbox Code Playgroud)
我一直在尝试PS脚本的变种:
get-content c:\serverlist.txt | foreach-object {measure-object -character}
Run Code Online (Sandbox Code Playgroud)
但我能得到的最好的回报是:
行词字符属性
------- -------- -------------- -----------
0
0
0
0
0
不知道我在这里缺少什么,但任何帮助将不胜感激!
谢谢!
我需要将一个目录中的文件复制到lastwritetime大于或等于3/26/2010 9:00 pm的另一个目录.我正在使用:
Get-ChildItem C:\pstest\hlstore\folder1\data | where-object {$i.lastwritetime -ge “3/26/2010 9:00 PM”} | Copy-Item -destination c:\pstest\hlstore2\folder1\data
Run Code Online (Sandbox Code Playgroud)
但没有任何反应......
任何帮助将不胜感激.
谢谢!
情绪
我的SSRS报告中有一个字段,其中包含用逗号分隔的一串数字(来自SQL中的coalesce select).它看起来像12,91,160,171,223.我想在字段中仅更改一个特定值(例如160)的文本颜色,如果该值也在报告的另一个字段中.
我已经有了这个字段属性的Font的表达式.
=iif(Fields!Store_Number.Value.ToString().Contains (Fields!DMHomeStore.Value)= True,"Red","Black")
Run Code Online (Sandbox Code Playgroud)
这会更改整个字段的文本颜色,而不仅仅是字符串中的ONE值.
基本上,如果DMHomeStore= 160,并且Store_Number在其字符串中有160,则在Store_Number字符串中仅使160红色.
我正在尝试连接到远程sql数据库,只需在Powershell中运行"select @@ servername"查询.我试图在不使用集成安全性的情况下这样做.我一直在努力使用"get-credential"和"invoke-sqlcmd",但却发现(我认为),你无法将密码从"get-credential"传递给另一个Powershell cmdlet.
这是我正在使用的代码:
add-pssnapin sqlserverprovidersnapin100
add-pssnapin sqlservercmdletsnapin100
# load assemblies
[Reflection.Assembly]::Load("Microsoft.SqlServer.Smo, `
Version=9.0.242.0, Culture=neutral, `
PublicKeyToken=89845dcd8080cc91")
[Reflection.Assembly]::Load("Microsoft.SqlServer.SqlEnum, `
Version=9.0.242.0, Culture=neutral, `
PublicKeyToken=89845dcd8080cc91")
[Reflection.Assembly]::Load("Microsoft.SqlServer.SmoEnum, `
Version=9.0.242.0, Culture=neutral, `
PublicKeyToken=89845dcd8080cc91")
[Reflection.Assembly]::Load("Microsoft.SqlServer.ConnectionInfo, `
Version=9.0.242.0, Culture=neutral, `PublicKeyToken=89845dcd8080cc91")
# connect to SQL Server
$serverName = "HLSQLSRV03"
$server = New-Object -typeName Microsoft.SqlServer.Management.Smo.Server -argumentList $serverName
# login using SQL authentication
$server.ConnectionContext.LoginSecure=$false;
$credential = Get-Credential
$userName = $credential.UserName -replace("\\","")
$pass = $credential.Password
$server.ConnectionContext.set_Login($userName)
$server.ConnectionContext.set_SecurePassword($credential.Password)
$DB = "Master"
invoke-sqlcmd -query "select @@Servername" -database $DB -serverinstance $servername -username …Run Code Online (Sandbox Code Playgroud) powershell ×3
arrays ×1
cmdlets ×1
colors ×1
expression ×1
fonts ×1
sql-server ×1
ssrs-2008 ×1