• What about Linux GUI applications? How do those appear in WSL 2?

  • Nice post, thank you!

    I want to dynamically create an Azure Container Group with multiple instances.
    How to create an array of containers($containers) in Powershell syntax? I tried ArrayList, but with no luck:

    New-AzContainerGroup -Name $MyContainerGroup -ResourceGroupName $MyResourceGroup -Location $Location -Container $containers -ImageRegistryCredential $imageRegistryCredential -RestartPolicy Never


  • I meant ‘forcing the codes’. Sorry for the typo.

  • I meant ‘forcing the codes…’. Sorry for the typo.

  • Hi Emanuel!

    While happily looking at what I’ve been learning, there’s this realization (and warning) that I’m forching the codes to just ‘stop’ at the 1st record/occurence of ‘Ethernet 2’. What if there’s more? What if the value ‘Ethernet 2’ appears on the 2nd, 3rd, so on…? How will I be able to capture it if it’s not on the 1st record? Meaning, how will I be able to capture ‘Ethernet 2’ in InterfaceAlias when/if I don’t know when it will appear?

    You’ve introduced me to string formatting in your latest reply. Thank you!

  • How amazing that this 2018 article is still relevant. As we increasingly understand, IPv6 was “a 1990’s solution to a 1980’s problem” (Geoff Huston, July 2020), which is exactly what Mario describes above.

    RE: IPv6 “prevented the gradual evolution of IPv4”
    Yeah, you hit the nail on the head!
    Eight years after reading this insightful article, I and my small research team at Peking University have managed to propose something to effectively extend the life span of IPv4, shamelessly termed “A Long Term Evolution Approach” of IPv4.

    In case you guys are interested in taking a look at the full paper, the download link is here:

    FYI, here’s a little discussion on Twitter:

    P.S. ‘ the “Internet Engineering Task Force” had no clue at all…’
    Good point. Here’s another quote from Geoff Huston
    “Many years ago, the IETF tried to distinguish itself from other technology standards bodies… It seems to me that the ensuing years have eroded these IETF aspirations. It appears that the IETF has decided that volume is far easier to achieve than quality. These days, what the IETF is generating as RFCs is pretty much what the IETF accused the OSI folk of producing back then: Nothing more than voluminous paperware about vapourware!”

  • IPv6 is reminiscent of an earlier era. When every PC used a modem, dedicated IP, BGP routes, e-mail. When programs required open ports. When Novell NetWare auto-configured addresses, no DHCP. Such things already existed.

    Computing evolved into the cloud. There could be hundreds of sites running over the same IP.

    Maybe the world went IPvAgnostic. Just type the URL into your phone or PC. The ISP may have v6, v4, NAT444, NAT64, /128, /64. Today a home user is not heard by the ISP. These long ago became cheap.

  • Hi Alex, I’m telling you that I also have the same error as Luciano, but in my case, according to your comment, I don’t use a signature certificate on my server. ?

  • Very useful!
    I am creating a script to generate the expiring certificates and email them to our it department.
    I am creating a new user for this however, I have not figured out how to set the user up to run this script without making them a domain administrator.
    Any suggestions?

  • Hi Wolfgang
    When i try to personalize things, it is asking for product key.

  • Hi Emanuel!

    I finally got it!

    I just had to use Select-Object’s limiter command!

    PS C:Windowssystem32> Invoke-Command -VMName Win10VMTest004 -ScriptBlock {
    $InterfaceAlias2 = Get-NetAdapter | Select-Object -First 1 -ExpandProperty InterfaceAlias
    $InterfaceIndex2 = Get-NetAdapter | Select-Object -First 1 -ExpandProperty InterfaceIndex
    If ($InterfaceAlias2 -eq “Ethernet 2”)
    $InterfaceIndex4Set = $InterfaceIndex2
    Write-Output $InterfaceIndex4Set, $InterfaceAlias2
    cmdlet Invoke-Command at command pipeline position 1
    Supply values for the following parameters:
    Ethernet 2

    This solution I got just from browsing backwards to the basics!

    Thank you!!!

  • Hi Emanuel!

    You’re right. 🙂

    These codes are meant to simulate if I’ll be able to get the value of InterfaceIndex once I encounter a value of ‘Ethernet 2’ in InterfaceAlias. I’ve made $InterfaceIndex4Set just so I can ‘see’ what’s inside it, after the movement of whatever is inside of InterfaceIndex. However, the obvious obstacle for me is that InterfaceIndex keeps on giving out 2 values, which is ‘7’ and ‘4’. I only need the 1st value of ‘7’ to appear once the IF statement gets satisfied with an InterfaceAlias value of ‘Ethernet 2’.

    What I want to do is to get all InterfaceAlias ‘Ethernet 2’ (and nothing else) and then use it’s corresponding InterfaceIndex, which should also have one value only. But I always get 2 values.

    Thank you!

  • No details about the permissions the program requires to accomplish this magic?
    Does this work WITHOUT giving the application domain admin access?

  • Well i get what the article is about and it’s great! Would also prefer no reboot of course..
    But in situations where the trust relationship is broken because of either a restore, Azure migrate situation or something else that already has reboots/startups baked into the situation, we are just talking about an alternative quick-fix here.
    If one can live with i single reboot to solve the issue, it is pretty easy to log in, unjoin, rejoin, reboot.. It’s only an alternative if the situation fits of course 🙂

  • Actually only one Reboot is required. When dejoining the domain and asked to Reboot, just don’t and join again, then reboot. This will re-establish the domain join and work.

  • You would need to update your “Name the administrator account to manage” GPO by specifying your own Admininstrator account name. This example assumes you’re using the built-in Admin account so they haven’t told you to modify this GPO.

  • Congratulations on your generosity in taking the time to create such a useful guide!
    Thank you!

  • you could also unjoin the domain and rejoin. You would also need admin cached creds (domain) for this.

  • HI Emanuel!

    Thank you!!!

    With your expert guidance, I was able to come up with this:

    PS C:Windowssystem32> Invoke-Command -VMName Win10VMTest004 -ScriptBlock {
    $InterfaceIndex2 = Get-NetAdapter | Select-Object -ExpandProperty InterfaceIndex
    $InterfaceAlias2 = Get-NetAdapter | Select-Object -ExpandProperty InterfaceAlias
    If ($InterfaceAlias2 -eq “Ethernet 2”)
    $InterfaceIndex4Set = $InterfaceIndex2
    Write-Output $InterfaceIndex4Set, $InterfaceAlias2
    cmdlet Invoke-Command at command pipeline position 1
    Supply values for the following parameters:
    Ethernet 2

    PS C:Windowssystem32>

    What I need is to ‘do something’ once I catch InterfaceAlias value of Ethernet 2, and it’s basically using the InterfaceIndex value of ‘7’ somewhere down the road.

    So I have very obvious questions in here. Am I dealing with an array when I access the contents of Get-NetAdapter? How do I ‘capture’ the same ‘row’ of data once I get the ‘Ethernet 2’ value of InterfaceAlias? Sorry about my ignorance. I did COBOL programming and as you can see, my knowledge is pretty Jurassic at best. 😉

    Thank you again!

  • Load More
© 4sysops 2006 - 2022


Please ask IT administration questions in the forums. Any other messages are welcome.


Log in with your credentials


Forgot your details?

Create Account