小编Eri*_*eet的帖子

从Powershell获取所有命名参数,包括空和设置参数

我正在尝试找到一种从powershell脚本获取所有参数信息的方法.前脚本:

function test()
{
    Param(
        [string]$foo,
        [string]$bar,
        [string]$baz = "baz"
    )

    foreach ($key in $MyInvocation.BoundParameters.keys)
    {
        write-host "Parameter: $($key) -> $($MyInvocation.BoundParameters[$key])"
    }
}
test -foo "foo!"
Run Code Online (Sandbox Code Playgroud)

我想获得的值$bar,并$baz以动态的方式,而不提前知道的参数的名称.

我查看了$MyInvocation属性和方法,但除了设置/传递的参数之外,我没有看到任何内容.

更新1:

我接近它了:

function test()
{
    Param(
        [string]$foo,
        [string]$bar,
        [string]$baz = "baz"
    )
    foreach($var in (get-variable -scope private))
    {
        write-host "$($var.name) -> $($var.value)"
    }
}
test -foo "foo!"
Run Code Online (Sandbox Code Playgroud)

如果我可以过滤掉脚本参数与默认参数,我会很高兴.

更新2: 最终的工作解决方案如下所示:

function test {
    param (
          [string] $Bar = 'test'
        , [string] $Baz
        , [string] $Asdf
    ) …
Run Code Online (Sandbox Code Playgroud)

parameters powershell

14
推荐指数
5
解决办法
3万
查看次数

Tomcat 7访问日志与客户端证书主题名称

我试图在我的tomcat访问日志文件中包含客户端证书信息.

我已经回顾了这篇文章:https://serverfault.com/questions/624790/tomcat-log-the-equivalent-of-ssl-client-s-dn但这只返回对证书的引用,我不能实际上提取任何属性.

我的日志文件模式如下所示:

pattern="... [%{javax.servlet.request.X509Certificate}r]"
Run Code Online (Sandbox Code Playgroud)

这是回归:[[Ljava.security.cert.X509Certificate; @ 667a078]

有没有办法访问证书属性,如下所示:

pattern="... [%{javax.servlet.request.X509Certificate.SubjectName}r]"
Run Code Online (Sandbox Code Playgroud)

我希望能够在不进行任何代码修改的情况下提取证书信息.

apache ssl logging tomcat client-certificates

7
推荐指数
1
解决办法
665
查看次数

如何在 terraform kubernetes 部署上为虚拟机规模集启用托管标识

我正在通过 terraform 部署 AKS。它工作得很好,但我还想在 VMSS 对象上启用身份,以便允许 pod 级别托管身份访问(主要是从密钥库获取密钥)。

我可以通过转到 Azure 在启动 AKS 群集后创建的自动创建的 VMSS 对象来手动执行此操作。

但是,我在 terraform 资源中没有看到此选项。

有没有人遇到过这个问题并找到了解决方法?

我的部署代码是这样的:

resource "azurerm_kubernetes_cluster" "main" {
  name                = "myaks"
  location            = "centralus"
  resource_group_name = "myrg"
  dns_prefix          = "myaks"

  node_resource_group = "aksmanagedrg"

  default_node_pool {
    name            = "default"
    node_count      = 1
    vm_size         = "Standard_B2ms"
    vnet_subnet_id  = "myakssubnetid"
    os_disk_size_gb = 128
  }

  identity {
    type = "SystemAssigned"
  }

  addon_profile {
    aci_connector_linux {
      enabled = false
    }

    azure_policy {
      enabled = false
    }

    http_application_routing {
      enabled …
Run Code Online (Sandbox Code Playgroud)

azure kubernetes terraform-provider-azure azure-aks

6
推荐指数
1
解决办法
1760
查看次数