我有一个 SQL 作业(除其他外)操作以 SQL 命名实例命名的文件夹中的一些文件。
这是 SQL 作业中的相关代码:
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId,
@step_name=N'Do Stuff',
@step_id=1,
等等等等等等...
@os_run_priority=0, @subsystem=N'PowerShell',
@command= $dir = "\\SomeNetworkLocation\" + $env:computername
#do stuff with $dir
所以这部分,$dir = "\\SomeNetworkLocation\" + $env:computername
,抓取计算机名称并制作我的文件位置的完整路径,这对我的大多数服务器都非常有用。我遇到的问题是我的一些服务器是命名实例,因此提取服务器名称还不够好,因为它只返回命名实例的第一部分。我需要它$env:computername + '_' + $MyInstance
以某种方式得到。SQL 上命名实例的格式是MyServer\MyInstance
,如果有帮助的话......
有没有办法通过 PowerShell 提取此作业所在的实例的名称?