我怎样才能得到日志目录?
How can I get the Log directory?
我最近在我的服务器上安装了 SSAS,而不是通过其中的 24 个,我正在编写一个脚本来取回服务器的 logDir。
我正在尝试做这样的事情:
Import-Module SqlServer
$Analysis_Server = New-Object Microsoft.AnalysisServices.Server
$Analysis_Server.connect("$server")
$Analysis_Server.ServerProperties.LogDir
我试图找到 logDir 属性 from here 无济于事。
如果我使用 ServerProperties
,我会得到一个所有可用属性的列表,如下所示:
Name : LogDir
Type :
Value : S:....
DefaultValue : \data
PendingValue : S:...
RequiresRestart : True
IsReadOnly : False
DisplayFlag : True
Category : Basic
Units : Folder
PropertyName : LogDir
FolderName
但如果我这样做:$Analysis_Server.ServerProperties.LogDir.value
或 $Analysis_Server.ServerProperties.LogDir
,它 returns 什么都没有。
更新
这就是我计划 运行 通过多个服务器的方式:
$h = @{}
Import-Csv '$csvFile' | ForEach-Object {
$h += @{$($_.Server -split '\s*,\s*') }
}
Import-Module SqlServer
foreach($server in $h.Keys){
$result = "$server"
Write-Host $result
$Analysis_Server = New-Object Microsoft.AnalysisServices.Server
$Analysis_Server.connect("$server")
$Analysis_Server.ServerProperties['LogDir'].value
}
这是我的 CSV 文件(我打算将其用于多种用途,因此在这种情况下我只想获取服务器而不是数据库):
我得到了这个错误:
Missing '=' operator after key in hash literal.
这可能会让您参与其中。我没有可供使用的分析服务器,您可能需要稍微更改一下,直到正确为止。
$servers=get-content c:\temp\servers.txt
$hash=new-object hashtable
$Analysis_Server = New-Object Microsoft.AnalysisServices.Server
foreach($s in $servers)
{
$Analysis_Server.connect("$s")
$hash.add($s, $"$($Analysis_Server.ServerProperties['LogDir'])")
}
要在哈希表上查看更多精彩内容,请查看此 link:https://kevinmarquette.github.io/2016-11-06-powershell-hashtable-everything-you-wanted-to-know-about/
我最近在我的服务器上安装了 SSAS,而不是通过其中的 24 个,我正在编写一个脚本来取回服务器的 logDir。
我正在尝试做这样的事情:
Import-Module SqlServer
$Analysis_Server = New-Object Microsoft.AnalysisServices.Server
$Analysis_Server.connect("$server")
$Analysis_Server.ServerProperties.LogDir
我试图找到 logDir 属性 from here 无济于事。
如果我使用 ServerProperties
,我会得到一个所有可用属性的列表,如下所示:
Name : LogDir
Type :
Value : S:....
DefaultValue : \data
PendingValue : S:...
RequiresRestart : True
IsReadOnly : False
DisplayFlag : True
Category : Basic
Units : Folder
PropertyName : LogDir
FolderName
但如果我这样做:$Analysis_Server.ServerProperties.LogDir.value
或 $Analysis_Server.ServerProperties.LogDir
,它 returns 什么都没有。
更新
这就是我计划 运行 通过多个服务器的方式:
$h = @{}
Import-Csv '$csvFile' | ForEach-Object {
$h += @{$($_.Server -split '\s*,\s*') }
}
Import-Module SqlServer
foreach($server in $h.Keys){
$result = "$server"
Write-Host $result
$Analysis_Server = New-Object Microsoft.AnalysisServices.Server
$Analysis_Server.connect("$server")
$Analysis_Server.ServerProperties['LogDir'].value
}
这是我的 CSV 文件(我打算将其用于多种用途,因此在这种情况下我只想获取服务器而不是数据库):
我得到了这个错误:
Missing '=' operator after key in hash literal.
这可能会让您参与其中。我没有可供使用的分析服务器,您可能需要稍微更改一下,直到正确为止。
$servers=get-content c:\temp\servers.txt
$hash=new-object hashtable
$Analysis_Server = New-Object Microsoft.AnalysisServices.Server
foreach($s in $servers)
{
$Analysis_Server.connect("$s")
$hash.add($s, $"$($Analysis_Server.ServerProperties['LogDir'])")
}
要在哈希表上查看更多精彩内容,请查看此 link:https://kevinmarquette.github.io/2016-11-06-powershell-hashtable-everything-you-wanted-to-know-about/