Powershell 如何获取日志目录?

Powershell 如何获取日志目录?,powershell,azure-analysis-services,Powershell,Azure Analysis Services,我最近在我的服务器上安装了SSA,而不是使用其中的24个,我正在编写一个脚本来获取服务器的logDir 我正在尝试这样做: Import-Module SqlServer $Analysis_Server = New-Object Microsoft.AnalysisServices.Server $Analysis_Server.connect("$server") $Analysis_Server.ServerProperties.LogDir 我正在尝试从这里查找logDir属性:

我最近在我的服务器上安装了SSA,而不是使用其中的24个,我正在编写一个脚本来获取服务器的logDir

我正在尝试这样做:

Import-Module SqlServer

$Analysis_Server = New-Object Microsoft.AnalysisServices.Server 
$Analysis_Server.connect("$server")

$Analysis_Server.ServerProperties.LogDir
我正在尝试从这里查找logDir属性: 无济于事

如果我使用ServerProperties,我会得到所有可用属性的列表,如下所示:

Import-Module SqlServer

$Analysis_Server = New-Object Microsoft.AnalysisServices.Server 
$Analysis_Server.connect("$server")

$Analysis_Server.ServerProperties.LogDir
姓名:LogDir

类型:

值:S:

默认值:\data

挂起值:S:

RequiresRestart:True

IsReadOnly:错误

DisplayFlag:True

类别:基本

单位:文件夹

PropertyName:LogDir

文件夹名

但如果我这样做:$Analysis\u Server.ServerProperties.LogDir.value或$Analysis\u Server.ServerProperties.LogDir,它将不返回任何内容

更新:这就是我计划运行多台服务器的方式

这是我的csv文件,我计划将其用于多种用途,因此我只想获取服务器,而不是本案例中的数据库:

我找回了这个错误:

哈希文本中的键后缺少“=”运算符


这可能会让你从他们那里得到一部分。我没有一个分析服务器在我的支配下,你可能不得不改变这一点,直到你得到它的权利

$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'])")

}

要查看有关哈希表的更多精彩内容,请查看此链接:

您可以尝试像访问哈希表一样访问它$Analysis\u Server.ServerProperties['LogDir']@thomschumacher OMG您真是个天才!我决不会想到这一点!我做了这个$Analysis_Server.ServerProperties['LogDir']]值,它返回了我想要的路径!现在我唯一担心的是,由于我计划创建一个包含所有服务器的哈希表,我如何才能为每个服务器的路径值编制索引?你能在你的问题中添加一些你尝试过的内容吗?@thomschumacher sure onemoment@thom舒马赫,既然你提出了一个可行的财产哈希,我认为这个connectionstring属性需要类似的哈希,但我不太确定如何处理它。你能看看这个线程吗,你也许能解决这个噩梦。我一直在调试,但没用:所以我试过你的代码,结果发现在hash.add参数中逗号后缺少表达式。无论如何,你的版本中不需要散列。循环只是在文本文件中循环,但当然,我更喜欢像我在帖子中更新的那样对csv文件进行散列