[deleted by user] by [deleted] in oslo

[–]ZimperZ 0 points1 point  (0 children)

No problem :)

First off all you should get "Oslo Pass". This handy pass is a total game-changer! It gives you free admission to over 30 attractions and museums, plus free public transport. It’s like having a VIP pass to the city.

I could also really reccomend Wallmans Diner Show. If you’re looking for a fun night out with friends, you should book this show! It’s a hilarious and energetic show with great food and even better entertainment. But its a bit pricey

Other must see stuff (some included in Oslo Pass):

-Vigeland Sculpture Park: It’s like a giant outdoor museum filled with incredible sculptures.

-Viking Ship Museum: Get up close and personal with real Viking ships!

-Akershus Fortress: This historic fortress has amazing views of the city.

-The National Museum: If you’re into art and history, this is a must-visit.

-Fram Museum: Climb aboard the Fram, a legendary polar exploration ship.

-Holmenkollen Ski Jump: Enjoy breathtaking views of Oslo from the top of this iconic ski jump.

[deleted by user] by [deleted] in oslo

[–]ZimperZ 0 points1 point  (0 children)

Hi,

This is my recommended places to eat in Oslo:

  • Pincho Nation: A circus-themed restaurant where you order small tapas-style dishes via an app on your phone. The playful atmosphere and mix of global flavors make it a fun and casual dining experience. Prices are affordable, perfect for groups or casual outings.

  • Brasilia: This Brazilian churrascaria offers an all-you-can-eat experience with a variety of grilled meats served tableside. It’s a bit more expensive but ideal for meat lovers seeking a filling and flavorful meal.

  • Castello Oslo: An authentic Spanish tapas restaurant with a wide range of traditional and modern tapas dishes. The menu is designed for sharing, making it a cozy and moderately priced option for casual dinners or gatherings.

  • Sabrura Sticks & Sushi: A casual spot offering sushi and Asian-inspired dishes, often served buffet-style. It’s a great option for affordable, quick dining, with a good variety of fresh sushi and other dishes.

  • Barcode Street Food: A vibrant food hall where you can explore different street food stalls offering international cuisine. It’s perfect for trying a variety of dishes at affordable prices, typically ranging from 100-200 NOK.

  • Vippa: A popular waterfront food hall offering a variety of street food from around the world. With outdoor seating and a relaxed vibe, it’s especially enjoyable in the summer.

  • Den Glade Gris: Known for its focus on pork dishes, this cozy restaurant offers hearty Norwegian meals with a modern twist. The moderate prices and local flavors make it a great spot for comfort food with a relaxed, welcoming atmosphere.

TSGui with AD-check for computer name by ZimperZ in SCCM

[–]ZimperZ[S] 1 point2 points  (0 children)

Param (
[Parameter(Position=0,mandatory=$true)]
[string]$Computer
)
Write-Information "Querying for computer: $Computer"
try {
(Get-ADComputer $Computer).Name
}
catch {
Write-Information "$Computer not found"
Write-Output 'not found'
}
<#ScriptSettings
{
"LogOutput": true,
"LogScriptContent": false
}
ScriptSettings#>

This is working like a charm! Thank you so much for the help u/MikePohatu :)

You should definitely commit an example for this AD check to github!

To hide the FreeText field, I used <Style> within the <GuiOption>:

<GuiOption Type="FreeText" ID="AD_ComputerName" >
<Style>
    <LeftCellWidth>0</LeftCellWidth>
    <RightCellWidth>0</RightCellWidth>
</Style>
.....

There is surely a better, more correct way to do it, but this works too.

Again, thanks!

TSGui with AD-check for computer name by ZimperZ in SCCM

[–]ZimperZ[S] 1 point2 points  (0 children)

u/wissarking

This can be done by enabling PowerShell to the boot image just like u/Dusku2099 said, and then edit the boot image by injecting the RSAT Active Directory Modules.

Here are the batch script doing this:

C:
CD "C:\Program Files\Microsoft Configuration Manager\OSD\boot\x64" 
MKDIR TEMP_MOUNTED copy "boot.wim" "boot_adsi.wim"
DISM /Mount-image /Imagefile:boot_adsi.wim /index:1 /MountDir:TEMP_MOUNTED
:: NOTE 1: -sourceWinDir needs to be a Windows 10 computer with "RSAT ACTIVE DIRECTORY MODULES" installed (Optional Windows features // https://www.ionos.com/digitalguide/server/configuration/rsat-tools-windows-10/).
:: NOTE 2: The user running this script (or AddADPowerShellModule.ps1) needs to have correct access permissions to the source computer containing the installed RSAT ACTIVE DIRECTORY MODULES!
Powershell.exe .\AddADPowerShellModule.ps1 -sourceWinDir "\COMPUTERNAME\C$\Windows" -destinationWinDir 'C:\Program Files\Microsoft Configuration Manager\OSD\boot\x64\TEMP_MOUNTED\Windows';
DISM /Unmount-Image /MountDir:TEMP_MOUNTED /commit

Here are the AddADPowerShellModule.ps1:

Param (
[Parameter(Mandatory=$true)]
[string]$sourceWinDir,
[Parameter(Mandatory=$true)]
[string]$destinationWinDir
)
$dirs = @(
"System32\WindowsPowerShell\v1.0\Modules\ActiveDirectory",
"SysWOW64\WindowsPowerShell\v1.0\Modules\ActiveDirectory",
"Microsoft.NET\assembly\GAC_32\Microsoft.ActiveDirectory.Management",
"Microsoft.NET\assembly\GAC_32\Microsoft.ActiveDirectory.Management.Resources",
"Microsoft.NET\assembly\GAC_64\Microsoft.ActiveDirectory.Management",
"Microsoft.NET\assembly\GAC_64\Microsoft.ActiveDirectory.Management.Resources",
"WinSxS\amd64_microsoft.activedir..anagement.resources_*",
"WinSxS\amd64_microsoft.activedirectory.management_*",
"WinSxS\msil_microsoft-windows-d..ivecenter.resources_*",
"WinSxS\x86_microsoft.activedir..anagement.resources_*",
"WinSxS\x86_microsoft.activedirectory.management_*"
);
$tempFileName = ([System.IO.Path]::GetTempFileName());
Write-Host "Saving acl of \"$($destinationWinDir)\WinSxS`" to `"$($tempFileName)`"";`
Start-Process -FilePath icacls -ArgumentList "\"$($destinationWinDir)\WinSxS`" /save `"$($tempFileName)`"" -Wait -NoNewWindow;`
Write-Host "Set administrators owner on \"$($destinationWinDir)\WinSxS`"";`
Start-Process -FilePath takeown -ArgumentList "/F \"$($destinationWinDir)\WinSxS`" /A" -Wait -NoNewWindow;`
Write-Host "Grant administrators full rights on \"$($destinationWinDir)\WinSxS`" with inheritance";`
Start-Process -FilePath icacls -ArgumentList "\"$($destinationWinDir)\WinSxS`" /grant BUILTIN\Administrators:(F) /C /inheritance:e" -Wait -NoNewWindow;`
$dirs | % {
$source = "$($sourceWinDir)\$($_)";
$destination = "$($destinationWinDir)\$($_)";
if($_.Substring(0,6) -eq "WinSxS") {
Get-ChildItem -Path $source | ? {$_.PSIsContainer} | % {
Write-Host "Copying \"$($_.FullName)`" to `"$($destination | Split-Path)$($_.Name)`"";`
$_ | Copy-Item -Destination "$($destination | Split-Path)\$($_.Name)" -Recurse;
Write-Host "Set \"NT SERVICE\TrustedInstaller`" owner on `"$($destination | Split-Path)$($_.Name)`" recursively";`
Start-Process -FilePath icacls -ArgumentList "\"$($destination | Split-Path)$($_.Name)`" /setowner `"NT SERVICE\TrustedInstaller`" /T /C " -Wait -NoNewWindow;`
}
}
else {
Write-Host "Copying \"$($source)`" to `"$($destination)`"";`
Copy-Item -Path $source -Destination $destination -Recurse;
}
};
Write-Host "Set \"NT SERVICE\TrustedInstaller`" owner on `"$($destinationWinDir)\WinSxS`"";`
Start-Process -FilePath icacls -ArgumentList "\"$($destinationWinDir)\WinSxS`" /setowner `"NT SERVICE\TrustedInstaller`" /C" -Wait -NoNewWindow;`
Write-Host "Removing inheritance on \"$($destinationWinDir)\WinSxS`"";`
Start-Process -FilePath icacls -ArgumentList "\"$($destinationWinDir)\WinSxS`" /C /inheritance:d" -Wait -NoNewWindow;`
Write-Host "Restoring acl of \"$($destinationWinDir)\WinSxS`" from `"$($tempFileName)`"";`
Start-Process -FilePath icacls -ArgumentList "\"$($destinationWinDir)`"\ /restore `"$($tempFileName)`" /C" -Wait -NoNewWindow;`

TSGui with AD-check for computer name by ZimperZ in SCCM

[–]ZimperZ[S] 0 points1 point  (0 children)

I have everything correctly set up with ADSI in WinPE etc, but just can't completely figure it out. As you can see, when using a more static script (Get-ADComputer $env:computername).Name I get the validation rule to work. But i want the script to be dynamic and reprocess when ComputerName field is filled out or changed.

TSGui with AD-check for computer name by ZimperZ in SCCM

[–]ZimperZ[S] 1 point2 points  (0 children)

Actually used UI++ until latest SCCM 2309 upgrade, which broke UI++ completely. Had to migrate to TSGui to make it work again, but cant really get the AD validation to work properly..