RealmJoin
Search…
Core Extension

Core Extension

Ensure Core Extension in RealmJoin portal

To ensure the extensions are correctly deployed on all clients, please add the core extensions Chocolatey package to the back-end with order 1 and assign it to the global core group.

Enable extension CmdLets in Craft packages

Out of Chocolatey packages, the usage of the extension CmdLets has to be enabled:
1
Import-Module (Get-ItemPropertyValue -Path "Registry::HKLM\SOFTWARE\RealmJoin\Variables" -Name RealmjoinCraftSupportModulePath)
Copied!

Useable RealmJoin variables

Chocolatey variables

    $packagePrefix = flavour prefix of this package
    $packageName = name of this package
    $packageVersion = version of this package
    $packageVersionObject = [System.Version]$env:packageVersion
    $packageVersionNoRevisionObject = New-Object System.Version -ArgumentList $packageVersionObject.Major, $packageVersionObject.Minor, $packageVersionObject.Build
    $packageParameters = parameters as specified in the assignment arguments
    $packageFolder = folder in which the package is extracted
    $packageToolsFolder = sub directory "tools" of a Chocolatey package, contains the install script. Defined as: Join-Path $env:packageFolder "tools"
    $packageTempDir = temp directory which is used for the package. Defined as: Join-Path $env:TEMP (Join-Path $env:chocolateyPackageName $env:chocolateyPackageVersion)
    $PackageID = unique ID of the package
Environment variables
    $env:RJ_Version
    $env:RJ_UserSID = SID of the user who started this package installation. Can be used in system crafts if parameters are initialized
    $env:RJ_ChocolateyPackage = glueckkanja-test-choco
    $env:RJ_InstalledVersion = 1.0.0.1
    $envRJ_PackageID = glueckkanja-test-choco
    $env:RJ_DeploymentPhase = contains information on the installation. Can be:
    1
    Blank
    2
    3
    RunningFirstDeployment
    4
    RunningFirstDeploymentAuto
    5
    - Now the installations start
    6
    CompletedFirstDeployment
    7
    8
    RunningDeployment
    9
    - Now the installations start
    10
    CompletedDeployment
    11
    12
    ManualDeployment
    13
    - Now the installations start
    Copied!
Important In order to keep the following sections easy to read und clear, a lot of extensions are based only on Chocolatey. Of course these extensions are also usable for Craft. Therefore you have to remove 'Chocolatey' from an extension to make it valid for 'Craft'. For example: Chocolatey extension =Get-ChocolateyRealmjoinLocaleId Craft extension =Get-RealmjoinLocaleId

AppV Packages

Enable-ChocolateyRealmjoinAppv

This command will enable AppV on current client with BranchCache as supported.
Syntax
1
Enable-ChocolateyRealmjoinAppv
Copied!

Install-ChocolateyRealmjoinAppvPackage

This command will add and publish an AppV package
Syntax
1
Install-ChocolateyRealmjoinAppvPackage [[-fileName] <string>] [[-fileChecksum] <string>] [[-DynamicDeploymentConfiguration] <string>] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
DynamicDeploymentConfiguration None false false
4
fileChecksum None false false
5
fileName None false false
Copied!

Uninstall-ChocolateyRealmjoinAppvPackage

This command stops and removes an AppV Package.
If needed a used connection group will also be stopped upfront.
Syntax
1
Uninstall-ChocolateyRealmjoinAppvPackage [[-name] <string>] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
name None false false
Copied!

Get-ChocolateyRealmjoinAppvPackageVfsPath

Syntax
1
Get-ChocolateyRealmjoinAppvPackageVfsPath [[-appvPackage] <Object>] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
appvPackage None false false
Copied!

Install-ChocolateyRealmjoinAppvConnectionGroup

This command adds and enables a connection group by a xml-based definition given as its filename
Syntax
1
Install-ChocolateyRealmjoinAppvConnectionGroup
Copied!
Parameters
1
Copied!

Uninstall-ChocolateyRealmjoinAppvConnectionGroup

This command removes a connection group for AppV packages
Syntax
1
Uninstall-ChocolateyRealmjoinAppvConnectionGroup
Copied!
Parameters
1
Copied!

Logs and Transforms

Get-ChocolateyRealmjoinLocaleId

Returns the corresponding LocaleID of a given locale string (e. g. en-US or de-De)
If the translation fails, the default localeID 1033 (en-US) is returned. Can be overwritten with a custom default value.
Syntax
1
Get-ChocolateyRealmjoinLocaleId [[-localeString] <string>] [[-defaultLocaleId] <int>] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
defaultLocaleId None false false
4
localeString None false false
Copied!

Get-ChocolateyRealmjoinLocaleMsiTransform

Based on the given LocaleID this command will return the path of the localized transform file.
By default the file is supposed to be located in package root folder. A parent folder for localed file can provided as a parameter (localeTransformsFolder).
    The root folder for any file reference inside the scripts are always tools.
    For using locale string (e. g. de-de) as input the command be combinded output from Get-ChocolateyRealmjoinLocaleId.
Syntax
1
Get-ChocolateyRealmjoinLocaleMsiTransform [[-localeString] <string>] [[-localeTransformsFolder] <string>] [[-defaultLocaleId] <int>] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
defaultLocaleId None false false
4
localeString None false false
5
localeTransformsFolder None false false
Copied!

Get-ChocolateyRealmjoinLogFilePath

This command will return the realmjoin-specific logfile path including a package-specific logfile depending on the execution context.
Syntax
1
Get-ChocolateyRealmjoinLogFilePath [[-operation] <string>] [[-target] <string>] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
operation None false false
4
target None false false
Copied!

Chocolatey Packages

Install-ChocolateyRealmjoinPackage

This command will install a software (installer file from cloud blob storage).
Syntax
1
Install-ChocolateyRealmjoinPackage [[-installerFileName] <string>] [[-installerFileChecksum] <string>] [[-msiTransforms] <string[]>] [[-msiTransformsCabs] <string[]>] [[-additionalArgs] <string[]>] [[-silentArgs] <string[]>] [[-validExitCodes] <int[]>] [[-installers] <psobject[]>] [[-preActions] <scriptblock>] [[-postActions] <scriptblock>] [[-installPackage] <bool>] [[-noInstallMessage] <string>] [-installerFileNameIsLocalPath] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
additionalArgs None false false
4
installPackage None false false
5
installerFileChecksum None false false
6
installerFileName None false false
7
installerFileNameIsLocalPath None false false
8
installers None false false
9
msiTransforms None false false
10
msiTransformsCabs None false false
11
noInstallMessage None false false
12
postActions None false false
13
preActions None false false
14
silentArgs None false false
15
validExitCodes None false false
Copied!

Uninstall-ChocolateyRealmjoinPackage

This command uninstalls a software package.
By default MSI based installer is performed with the most common silent parameters. The valid exitcodes for success are set to 0, 1641, 3010 for MSI and EXE based installer.
Optionally args for a silent uninstallation, valid exitcodes for success and post-installation actions as a PowerShell scriptblock (e. g. deleting a desktop shortcut) can be provided.
    The parameter additionalArgs is populated with args from the given uninstall info (object) and can not be overwritten. Use silentsArgs to apply additional parameter(s) for a silent uninstallation.
    If parameters from uninstall info (object) are not suitable for a successful (silent) uninstallation, you can provide the uninstall info manually as parameters. You have to provide a uninstaller executable file (uninstallerFile), uninstall args (additionalArgs) and a package name (subPackageName) for product to be uninstalled.
Syntax
1
Uninstall-ChocolateyRealmjoinPackage [[-uninstallerFile] <string>] [[-additionalArgs] <string[]>] [[-silentArgs] <string[]>] [[-validExitCodes] <int[]>] [[-subPackageName] <string>] [[-uninstallers] <psobject[]>] [[-uninstallInfo] <Object>] [-WhatIf] [-Confirm] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
Confirm cf false false
4
WhatIf wi false false
5
additionalArgs None false false
6
silentArgs None false false
7
subPackageName None false false
8
uninstallInfo None false true (ByValue)
9
uninstallerFile None false false
10
uninstallers None false false
11
validExitCodes None false false
Copied!

Import-ChocolateyRealmjoinPackageParameters

Retrieves the package parameter given provided by the RealmJoin Portal (package or user assignment). Those parameters will become available inside the scripting as prefixed variable (packParam). A parameter like /Language:de-de will be provided as the variable $packParamLanguage with the string value of de-de.
Syntax
1
Import-ChocolateyRealmjoinPackageParameters [[-params] <string>] [-setVariables] [-clearVariables] [-returnKeyValuePairs] [-returnParameterHashset] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
clearVariables None false false
4
params None false false
5
returnKeyValuePairs None false false
6
returnParameterHashset None false false
7
setVariables None false false
Copied!

Test-ChocolateyRealmjoinRegistryUninstallExists

With this command you can test if a software exist on your system. This test based on the uninstall info from Get-ChocolateyRealmjoinRegistryUninstallInfo.
Syntax
1
Test-ChocolateyRealmjoinRegistryUninstallExists [[-keyNameFilter] <string>] [[-displayNameFilter] <string>] [[-publisherFilter] <string>] [[-versionGe] <version>] [[-versionGt] <version>] [[-versionLe] <version>] [[-versionLt] <version>] [[-filterScriptblock] <scriptblock>] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
displayNameFilter None false false
4
filterScriptblock None false false
5
keyNameFilter None false false
6
publisherFilter None false false
7
versionGe None false false
8
versionGt None false false
9
versionLe None false false
10
versionLt None false false
Copied!

Get-ChocolateyRealmjoinRegistryUninstallInfo

With this command you can get the common uninstall infos as PSObject of all items.
Syntax
1
Get-ChocolateyRealmjoinRegistryUninstallInfo [[-keyNameFilter] <string>] [[-displayNameFilter] <string>] [[-publisherFilter] <string>] [[-versionGe] <version>] [[-versionGt] <version>] [[-versionLe] <version>] [[-versionLt] <version>] [[-filterScriptblock] <scriptblock>] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
displayNameFilter None false false
4
filterScriptblock None false false
5
keyNameFilter None false false
6
publisherFilter None false false
7
versionGe None false false
8
versionGt None false false
9
versionLe None false false
10
versionLt None false false
Copied!

Get-ChocolateyRealmjoinRegistryUninstallStrings

With this command you will get an object with key name, file and arguments of an uninstall info match. You will get this info from Get-ChocolateyRealmjoinRegistryUninstallInfo.
Syntax
1
Get-ChocolateyRealmjoinRegistryUninstallStrings [-uninstallKeyNameFilter] <string> [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
uninstallKeyNameFilter None true false
Copied!

Get-ChocolateyRealmjoinWebFile

Downloads given filename (archive) from cloud blob storage.
Syntax
1
Get-ChocolateyRealmjoinWebFile [[-fileName] <string>] [[-fileChecksum] <string>] [[-remoteFileName] <string>] [-extractArchive] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
extractArchive None false false
4
fileChecksum None false false
5
fileName None false false
6
remoteFileName None false false
Copied!

Invoke-RealmjoinChocoPackageInstallation

Syntax
1
Invoke-RealmjoinChocoPackageInstallation [[-packageName] <string>] [[-params] <hashtable>] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
packageName None false false
4
params None false false
Copied!

Command line

Join-RealmjoinCommandLine

Syntax
1
Join-RealmjoinCommandLine [[-CommandOnly] <string>] [[-ArgumentsOnly] <string>] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
ArgumentsOnly None false false
4
CommandOnly None false false
Copied!

Split-RealmjoinCommandLine

Syntax
1
Split-RealmjoinCommandLine [[-CommandLine] <string>] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
CommandLine None false false
Copied!

Get-RealmjoinCommandLineWithLauncher

Syntax
1
Get-RealmjoinCommandLineWithLauncher [[-CommandLine] <string>] [[-CommandOnly] <string>] [[-ArgumentsOnly] <string>] [-ReturnSplit] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
ArgumentsOnly None false false
4
CommandLine None false false
5
CommandOnly None false false
6
ReturnSplit None false false
Copied!

Restart-RealmjoinComputer

A system restart can be initiated. By default with a delay of 10 seconds, which can be overwritten by the corresponding parameter. Optional you can provide a message by parameter. Behind the scene, a scheduled task is created which performs a shutdown with a parameter for restart.
Syntax
1
Restart-RealmjoinComputer [[-Delay] <timespan>] [[-Message] <string>] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
Delay None false false
4
Message None false false
Copied!

Get-RealmjoinComputerSystemBiosVersion

Syntax
1
Get-RealmjoinComputerSystemBiosVersion
Copied!

Get-RealmjoinComputerSystemModel

Syntax
1
Get-RealmjoinComputerSystemModel [-IncludeDebugInfoIfUnsure] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
IncludeDebugInfoIfUnsure None false false
Copied!

Custom States

Out-RealmjoinCustomState

This command creates a custom state with a mandatory name and input object.
Syntax
1
Out-RealmjoinCustomState [-Name] <string> [[-InputObject] <Object>] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
InputObject None false true (ByValue)
4
Name None true false
Copied!

Remove-RealmjoinCustomState

This command removes a custom state
Syntax
1
Remove-RealmjoinCustomState [-Name] <string> [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
Name None true false
Copied!

Scheduled Tasks

Using predefined RealmJoin cmdlets, it is possible to register scheduled tasks in system or user scope. The cmdlet provides an XML template, that is modified following the used parameters. Tasks also might be unscheduled.

Register-RealmjoinCustomStateScheduledTask

This command registers a scheduled task with package title a its name for creation. By default with a repetition interval of one day and a mandatory PowerShell script (publishState.ps1) in the current script dir.
Optionally the parameters PublishStateScriptFile can be overwritten.
Syntax
1
Register-RealmjoinCustomStateScheduledTask [[-RepetitionInterval] <timespan>] [[-TaskName] <string>] [[-PublishStateScriptFile] <string>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
PublishStateScriptFile None false false ".\publishState.ps1"
4
RepetitionInterval None false false "1.00:00:00"
5
TaskName None false false $env:packageTitle
Copied!

Unregister-RealmjoinCustomStateScheduledTask

This command removes the custom state scheduled task by its name - typically the package title.
Syntax
1
Unregister-RealmjoinCustomStateScheduledTask [[-TaskName] <string>] [[-PublishStateScriptFile] <string>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
PublishStateScriptFile None false false
4
TaskName None false false
Copied!

Get-RealmjoinInvocationParameters

Syntax
1
Get-RealmjoinInvocationParameters [[-Invocation] <InvocationInfo>] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
Invocation None false false
Copied!

Get-RealmjoinPathRooted

Syntax
1
Get-RealmjoinPathRooted [[-Path] <string>] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
Path None false false
Copied!

New-RealmjoinScheduledTaskBootTrigger

This command will create a boot scheduled task trigger
Syntax
1
New-RealmjoinScheduledTaskBootTrigger [[-Enabled] <bool>] [[-StartBoundary] <datetime>] [[-EndBoundary] <datetime>] [[-RepetitionInterval] <timespan>] [[-RepetitionDuration] <timespan>] [[-Delay] <timespan>] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
Delay None false false
4
Enabled None false false
5
EndBoundary None false false
6
RepetitionDuration None false false
7
RepetitionInterval None false false
8
StartBoundary None false false
Copied!

New-RealmjoinScheduledTaskDailyTrigger

This command will create a daily scheduled task trigger
Syntax
1
New-RealmjoinScheduledTaskDailyTrigger [[-Enabled] <bool>] [[-StartBoundary] <datetime>] [[-EndBoundary] <datetime>] [[-RepetitionInterval] <timespan>] [[-RepetitionDuration] <timespan>] [[-RandomDelay] <timespan>] [[-DaysInterval] <uint32>] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
DaysInterval None false false
4
Enabled None false false
5
EndBoundary None false false
6
RandomDelay None false false
7
RepetitionDuration None false false
8
RepetitionInterval None false false
9
StartBoundary None false false
Copied!

New-RealmjoinScheduledTaskLogonTrigger

This command will create a logon scheduled task trigger.
Syntax
1
New-RealmjoinScheduledTaskLogonTrigger [[-Enabled] <bool>] [[-StartBoundary] <datetime>] [[-EndBoundary] <datetime>] [[-RepetitionInterval] <timespan>] [[-RepetitionDuration] <timespan>] [[-Delay] <timespan>] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
Delay None false false
4
Enabled None false false
5
EndBoundary None false false
6
RepetitionDuration None false false
7
RepetitionInterval None false false
8
StartBoundary None false false
Copied!

New-RealmjoinScheduledTaskTimeTrigger

This command will create a custom scheduled task trigger.
Syntax
1
New-RealmjoinScheduledTaskTimeTrigger [[-DelayFromNow] <timespan>] [[-Enabled] <bool>] [[-StartBoundary] <datetime>] [[-EndBoundary] <datetime>] [[-RepetitionInterval] <timespan>] [[-RepetitionDuration] <timespan>] [[-RandomDelay] <timespan>] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
DelayFromNow None false false
4
Enabled None false false
5
EndBoundary None false false
6
RandomDelay None false false
7
RepetitionDuration None false false
8
RepetitionInterval None false false
9
StartBoundary None false false
Copied!

New-RealmjoinScheduledTaskXml

This command creates (and optionally registers) a scheduled task with a given action and trigger, e. g. loggon trigger.
By default its only returns the XML content for a scheduled task, enabled with user as principal and a execution time limit of 15 minutes. To optionally register the task the parameter Register and a mandatory task name (TaskName) must be provided.
Optional switchparameters to start the task once after creation (StartOnce) or for deleting the task after its first run (DeleteAfterFirstRun) can be set.
Syntax
1
New-RealmjoinScheduledTaskXml [[-Principal] <ScheduledTaskPrincipal>] [[-Action] <Object[]>] [[-Trigger] <Object[]>] [[-Enabled] <bool>] [[-ExecutionTimeLimit] <timespan>] [[-TaskName] <string>] [-DeleteAfterFirstRun] [-Register] [-StartOnce] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
Action None false false
4
DeleteAfterFirstRun None false false
5
Enabled None false false
6
ExecutionTimeLimit None false false
7
Principal None false false
8
Register None false false
9
StartOnce None false false
10
TaskName None false false
11
Trigger None false false
Copied!

Shortcuts

The following cmdlets allow to remove, create or modify shortcuts ot/on the desktop or the global start menu.

New-RealmjoinShortcut

This command will create shortcuts. If you do so, this shortcut will follow a defined TargetPath and a defined shortcutPath
Syntax
1
New-RealmjoinShortcut [-shortcutPath] <string> [-targetPath] <string> [[-targetArguments] <string>] [[-workingDirectory] <string>] [[-description] <string>] [[-iconLocation] <string>] [[-hotKey] <string>] [[-windowStyle] <int>] [-forCurrentUser] [-onDesktop] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
description None false false
4
forCurrentUser None Shortcuts are enabled for current user false false
5
hotKey None false false
6
iconLocation None false false
7
onDesktop None Path will create on the desktop false false
8
shortcutPath None true false
9
targetArguments None false false
10
targetPath None true false
11
windowStyle None false false
12
workingDirectory None false false
Copied!

Remove-RealmjoinShortcut

This command will remove shortcuts
Syntax
1
Remove-RealmjoinShortcut [-shortcutPath] <string> [-forCurrentUser] [-onDesktop] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
forCurrentUser None Remove and disable a shortcut for current user false false
4
onDesktop None Remove a shortcut from desktop false false
5
shortcutPath None true false
Copied!

Format-RealmjoinShortcutPath

Syntax
1
Format-RealmjoinShortcutPath [-shortcutPath] <string> [-forCurrentUser] [-onDesktop] [-doNotCheckCreateFolder] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
doNotCheckCreateFolder None false false
4
forCurrentUser None false false
5
onDesktop None false false
6
shortcutPath None true false
Copied!

Start-RealmjoinSoftwarePackageInstallation

Syntax
1
Start-RealmjoinSoftwarePackageInstallation [[-packageName] <string>] [<CommonParameters>]
Copied!
Parameters
1
Name Aliases Description Required? Pipeline Input? Default Value
2
---- ------- ----------- --------- --------------- -------------
3
packageName None false false
Copied!

Add-RealmjoinExeToTaskbar

This command attaches a given path to the Windows taskbar.
Only the extension types .exeand .lnkare supported.
Syntax
1
Add-RealmjoinExeToTaskbar
Copied!
Parameters
1
Copied!

Fonts

tbd

Add-RealmjoinFont

This command adds and registers a font to the system by a given path to the font file.
Syntax
1
Add-RealmjoinFont
Copied!
Parameters
1
Copied!

Remove-RealmjoinFont

This command removes a font from the system.
If you only know the file path, you can provide the mandatory name by using the PowerShell pipeline with the output of command Get-RealmjoinFontName.
Syntax
1
Remove-RealmjoinFont
Copied!
Parameters
1
Copied!

Get-RealmjoinFontName

This command returns the font name of a given font file.
The output can typically used to remove a font without knowing the font name and using the command Remove-RealmjoinFont.
Syntax
1
Get-RealmjoinFontName
Copied!
Parameters
1
Copied!

Registry

tbd

Get-RealmjoinRegistryValue

Returns the value of one or more registry entries. Will return $null (or hashtable with entries set to $null) of the registry key or any entries are missing, but will not fail. If only one registry entry is requested, its value will be returned directly. If more than one registry entry is requested, a hashtable will be returned.
Syntax
1
Get-RealmJoinRegistryValue [-Path] <string> [-Name] <string[]> [<CommonParameters>]
Copied!
Parameters
1
Copied!

Update-RealmjoinRegistryValue

This command sets a registry to a specific value or removes the entry (if value is $null). It will also create the registry key of it does not exist.
Syntax
1
Update-RealmJoinRegistryValue [-Path] <string> [-Name] <string> [[-Value] <Object>] [[-ValueKind] <RegistryValueKind>] [-ReturnTrueOnChange] [<CommonParameters>]
Copied!
Parameters
1
Copied!

INI Files

tbd

Get-RealmjoinIniFileValue

This command returns the value of an entry in the given section of the specific ini-file.
Optionally a default value will be return, if key name is not found, can be provided.
Syntax
1
Get-RealmjoinIniFileValue [-IniFilePath] <string> [-SectionName] <string> [-KeyName] <string> [[-DefaultValue] <string>] [<CommonParameters>]
Copied!
Parameters
1
Copied!

Update-RealmjoinIniFileValue

This command sets a given value of an entry in the given section of the specific ini-file.
    Any existing value will be overwritten.
    Providing $nullfor section, key name or value will be removes itself from the file.
Syntax
1
Update-RealmjoinIniFileValue [-IniFilePath] <string> [-SectionName] <string> [[-KeyName] <Object>] [[-Value] <Object>] [<CommonParameters>]
Copied!
Parameters
1
Copied!

Logging

tbd

Copy-RealmjoinExternalLogFiles

This command copies product-specific logfiles from a given location to the common RealmJoin-specific location. By default every file with a last write time greater or equal then 5 seconds before script start will be collected.
Optionally a filename filter (e.g. *.log), in- or exluding filename(s) can be provided. Optional switch parameters for deletion after copy (DeleteAfterCopy), creation time prefixing (PrefixWithCreationTime) and a recursivley copy including subfolders (Recurse) can be set.
The parameter NotBefore can be overwritten with a custom value of type[DateTime]. Alternatively for more specific filtering with a powershell scriptblock, used as a criteria for Where-Object, can be given.
Syntax
1
Copy-RealmjoinExternalLogFiles [[-Path] <string[]>] [[-Filter] <string>] [[-Exclude] <string[]>] [[-Include] <string[]>] [[-NotBefore] <datetime>] [[-FilterScriptblock] <scriptblock>] [[-Destination] <string>] [-Recurse] [-PrefixWithCreationTime] [-DeleteAfterCopy] [<CommonParameters>]
Copied!
Parameters
1
Copied!

Get-ChocolateyRealmjoinLogFilePath

This command returns a RealmJoin-specific log file path including a package-specific log file depending on the script execution context. Optionally a operation (e.g. <scriptname>) and a target (e.g. start_licenseactivation.exe) can be provided.
In absence of parameter Operation it will be set to an empty string, if the executing script name is chocolateyInstall.ps1, chocolateyUninstall.ps1 or rj_install.ps1. Otherwise the executing script name without its extension will used as value for parameter.
Syntax
1
Get-ChocolateyRealmjoinLogFilePath [[-Target] <string>]
Copied!
Parameters
1
Copied!

Get-RealmjoinLogFilePath

Internal function for command for Get-ChocolateyRealmjoinLogFilePath

Get-RealmjoinPackageLogDir

This command returns a RealmJoin-specific location for log files depending on the script execution context.
Syntax
1
Get-RealmjoinPackageLogDir [[-RealmjoinPackageName] <string>] [<CommonParameters>]
Copied!
Parameters
1
Copied!

Firewall

tbd

Disable-RealmjoinFirewallPopup

This command adds a firewall rule with the given executable path. The package name will set as the display name for the rule.
Syntax
1
Disable-RealmjoinFirewallPopup [[-exePath] <string>] [<CommonParameters>]
Copied!
Parameters
1
Copied!

Disable-RealmjoinFirewallPopupJava

This command applies a firewall rule by adding the common java executables (java.exe, javaw.exe, jnlplauncher.exe) to the given path of Java.
Optionally the java executable file(s) can be overwritten by the parameter exeFiles (e. g. javaw.exe)
Syntax
1
Disable-RealmjoinFirewallPopupJava [[-javaRootFolder] <string>] [[-exeFiles] <string[]>] [<CommonParameters>]
Copied!
Parameters
1
Copied!

Disable-RealmjoinFirewallPopupJavaAppV

This command applies a firewall rule by adding the common appv - specific java executables (java.exe, javaw.exe, jnlplauncher.exe) to the given AppV package.
Optionally the java executable file(s) can be overwritten by the parameter "exeFiles" (e.g. javaw.exe).
Syntax
1
Disable-RealmjoinFirewallPopupJavaAppV [[-appvPackage] <Object>] [[-exeFiles] <string[]>] [<CommonParameters>]
Copied!
Parameters
1
Copied!

Remove-RealmjoinFirewallRules

This command removes a firewall rule by its display name, typically the package name.
Syntax
1
Remove-RealmjoinFirewallRules
Copied!
Parameters
1
Copied!

Specials

tbd

Remove-RealmjoinFileAtReboot

A given file will be marked to be deleted after rebooting the system.
Syntax
1
Remove-RealmjoinFileAtReboot [-LiteralPath] <string[]> [<CommonParameters>]
Copied!
Parameters
1
Copied!

Get-RealmjoinWrpFileProtectionState

This command returns a boolean with the value $True, if the file protected. Typically a helper for command Remove-RealmjoinFileAtReboot.
Syntax
1
Get-RealmjoinWrpFileProtectionState [-LiteralPath] <string> [<CommonParameters>]
Copied!
Parameters
1
Copied!

Update-RealmjoinHostsFile

This command adds one or more entries to the hostsfile of the system. Behind the scene these entries are added as a block with RealmJoin - specific comments.
For an update you must always provide all (including previous) entries. By providing the switchparameter CleanUp the whole RealmJoin - specific block of entries will be removed from the file.
Syntax
1
Update-RealmjoinHostsFile [[-entries] <string[]>] [-cleanup] [<CommonParameters>]
Copied!
Parameters
1
Copied!

Convert-RealmjoinStringToBoolean

Convert boolean related strings like '1', 'true', '0' and 'false' to its corresponding and valid boolean type. The default return value, if conversion failed is $false.
The default return value can be overwritten to $true or $null
Syntax
1
Convert-RealmjoinStringToBoolean [-InputObject] <string> [[-DefaultValue] <bool>] [<CommonParameters>]
Copied!
Parameters
1
Copied!

Wait-RealmjoinCondition

This command loops and waits for a given condition provided as a PowerShell scriptblock.
By default with 0.5 minutes timeout, the condition as display name and final throw of a exception by reaching the timeout. The parameter 'TimeOutMinutes', 'TimeOutSeconds', 'DisplayName' and final action 'OnTimeout' can be overwritten.
Syntax
1
Wait-RealmjoinCondition [-Condition] <scriptblock> [[-TimeOutMinutes] <double>] [[-TimeOutSeconds] <int>] [[-DisplayName] <string>] [[-OnTimeout] <scriptblock>] [<CommonParameters>]
Copied!
Parameters
1
Copied!

Invoke-RealmjoinWithRetry

This command invoke a given action (defined as scriptblock) with retries and also executes a fail and a final fail action.
By default with maximal 4 retries and an delay of 1 seconds increased by 1.5 seconds each retry. Optionally a fail ('OnErrorRetry') and a final fail ('OnErrorFinal') action can be provided as a scriptblock.
The parameters 'RetryDelaySeconds', 'MaxRetries' can be overwritten. The increment of the delay can be suppressed by providing the switch parameter 'DoNotIncreaseDelay'.
Syntax
1
Invoke-RealmjoinWithRetry [-ScriptBlock] <scriptblock> [[-RetryDelaySeconds] <int>] [[-MaxRetries] <int>] [[-OnErrorRetryPrefix] <string>] [[-OnErrorRetry] <scriptblock>] [[-OnErrorFinal] <scriptblock>] [-DoNotIncreaseDelay] [<CommonParameters>]
Copied!
Parameters
1
Copied!

Invoke-RealmjoinChocoPackageInstallation

tbd
Syntax
1
Invoke-RealmjoinChocoPackageInstallation [[-packageName] <string>] [[-params] <hashtable>] [-allowFromIntune] [<CommonParameters>]
Copied!
Parameters
1
Copied!

Invoke-RealmjoinChocoPackageUninstall

tbd
Syntax
1
Invoke-RealmjoinChocoPackageUninstall [[-packageName] <string>] [-allowFromIntune] [-returnPriorState] [<CommonParameters>]
Copied!
Parameters
1
Copied!

Invoke-RealmjoinDevChocoScript

tbd
Syntax
1
Invoke-RealmjoinDevChocoScript [[-scriptToRun] <string>] [[-params] <Object>] [-uninstall] [-copyBlobs]
Copied!
Parameters
1
Copied!

Restart-RealmjoinComputer

This command initiates a system restart.
By default with a delay of 10 seconds, which can be overwritten by the parameter 'Delay'.
Optionally a message can be provided by the parameter 'Message'. Behind the scene a scheduled task is created which performs a shutdown with parameter for restart.
Syntax
1
Restart-RealmjoinComputer [[-Delay] <timespan>] [[-Message] <string>] [<CommonParameters>]
Copied!
Parameters
1
Copied!

Enable-ChocolateyRealmjoinAppv

This command enables AppV service on current client with BranchCache as supported. For enabling the Package Scripts support the optional parameter 'enablePackageScripts' can be used.
Publishing is only allow with administrative permissons.
Syntax
1
Enable-ChocolateyRealmjoinAppv
Copied!
Parameters
1
Copied!

Get-RealmjoinJavaAppvRootFolder

This command returns the root AppV path (Vfs) of Java Runtime Environment by giving any existing AppV package.
Syntax
1
Get-RealmjoinJavaAppvRootFolder [[-appvPackage] <Object>] [<CommonParameters>]
Copied!
Parameters
1
Copied!
Last modified 1yr ago