PowerShell内部的变量';

PowerShell内部的变量';,powershell,variables,Powershell,Variables,有没有办法在这个命令中添加变量 Set-NAVServerConfiguration -ServerInstance $ServiceName -KeyName "DestinationAppsForMigration" -KeyValue '[{"appId":"12345-6789", "name":"Some Name", "publisher": "Some

有没有办法在这个命令中添加变量

Set-NAVServerConfiguration -ServerInstance $ServiceName -KeyName "DestinationAppsForMigration" -KeyValue '[{"appId":"12345-6789", "name":"Some Name", "publisher": "Some Publisher" }]'
我想要的是这样的:

Set-NAVServerConfiguration -ServerInstance $ServiceName -KeyName "DestinationAppsForMigration" -KeyValue '[{"appId":$TableMigrationExtID, "name":$TableMigrationExtName, "publisher": $TableMigrationExtPublisher }]'
包含这些值的
$TableMigrationExtID
$TableMigrationExtName
$TableMigrationExtPublisher
。 如果我尝试运行它,则会显示此错误 这是可能的。 又快又脏的回答

Set-NAVServerConfiguration -ServerInstance $ServiceName -KeyName "DestinationAppsForMigration" -KeyValue '[{"appId":' + $TableMigrationExtID + ', "name":' + $TableMigrationExtName + ', "publisher":' + $TableMigrationExtPublisher + ' }]'
基本上,您可以将字符串与'something'+$variable+'something more'

一起加上。根据,必须用外部双引号将字符串括起来,以便用内部变量的值替换内部变量。考虑到您还需要保留内部双引号,您必须使用反勾号或另一个双引号来转义它们

使用双引号转义:

Set-NAVServerConfiguration -ServerInstance $ServiceName -KeyName "DestinationAppsForMigration" -KeyValue "[{""appId"":$TableMigrationExtID, ""name"":$TableMigrationExtName, ""publisher"": $TableMigrationExtPublisher }]"
Set-NAVServerConfiguration -ServerInstance $ServiceName -KeyName "DestinationAppsForMigration" -KeyValue "[{`"appId`":$TableMigrationExtID, `"name`":$TableMigrationExtName, `"publisher`": $TableMigrationExtPublisher }]"
使用反勾选转义:

Set-NAVServerConfiguration -ServerInstance $ServiceName -KeyName "DestinationAppsForMigration" -KeyValue "[{""appId"":$TableMigrationExtID, ""name"":$TableMigrationExtName, ""publisher"": $TableMigrationExtPublisher }]"
Set-NAVServerConfiguration -ServerInstance $ServiceName -KeyName "DestinationAppsForMigration" -KeyValue "[{`"appId`":$TableMigrationExtID, `"name`":$TableMigrationExtName, `"publisher`": $TableMigrationExtPublisher }]"

只需切换
谢谢!没有得到结果,但随后我注意到它没有正确传递,错误消息显示。再次在变量上添加“Add to Add double”。所以这起作用了,谢谢!设置NAVServerConfiguration-ServerInstance$ServiceName-KeyName“DestinationAppFormiglation”-KeyValue“[{”“appId”“:$TableMigrationExtID”“name”“:$TableMigrationExtName”“publisher”“:$TableMigrationExtPublisher}]”我在尝试此解决方案时遇到此错误,Set-NAVServerConfiguration:找不到接受参数“+”的位置参数。谢谢回复!