Spuštění procesu pod uživatelem
Description
Tento příklad ukazuje, jak můžete prostředek použít WindowsProcess
k zajištění toho, aby proces běžel pod konkrétním účtem.
Pokud ho explicitně nepředáte pomocí parametru Credential, zobrazí se výzva k zadání přihlašovacích údajů . Vlastnost Credential prostředku je nastavena na tuto hodnotu.
V případě, že je nastavená možnost , Cesta nastavená na C:\Windows\System32\gpresult.exe
a Argumenty/h C:\gp2.htm
nastavená naPresent
, začíná gpresult.exe
prostředek zadanými argumenty, pokud není spuštěný. Vzhledem k tomu, že je nastavena vlastnost Credential , prostředek spustí proces jako tento účet.
S Invoke-DscResource
Tento skript ukazuje, jak můžete použít WindowsProcess
prostředek s rutinou Invoke-DscResource
, abyste zajistili gpresult.exe
, že je spuštěný s argumenty /h C:\gp2.htm
jako uživatelem zadaný účet.
[CmdletBinding()]
param(
[System.Management.Automation.PSCredential]
[System.Management.Automation.Credential()]
$Credential = (Get-Credential)
)
begin {
$SharedParameters = @{
Name = 'WindowsFeatureSet'
ModuleName = 'PSDscResource'
Properties = @{
Path = 'C:\Windows\System32\gpresult.exe'
Arguments = '/h C:\gp2.htm'
Credential = $Credential
Ensure = 'Present'
}
}
$NonGetProperties = @(
'Ensure'
)
}
process {
$TestResult = Invoke-DscResource -Method Test @SharedParameters
if ($TestResult.InDesiredState) {
$QueryParameters = $SharedParameters.Clone()
foreach ($Property in $NonGetProperties) {
$QueryParameters.Properties.Remove($Property)
}
Invoke-DscResource -Method Get @QueryParameters
} else {
Invoke-DscResource -Method Set @SharedParameters
}
}
S konfigurací
Tento fragment kódu ukazuje, jak můžete definovat Configuration
blok prostředků, abyste měli jistotu WindowsProcess
gpresult.exe
, že je spuštěný s argumenty /h C:\gp2.htm
jako uživatelský účet.
Configuration StartUnderUser {
[CmdletBinding()]
param(
[System.Management.Automation.PSCredential]
[System.Management.Automation.Credential()]
$Credential = (Get-Credential)
)
Import-DSCResource -ModuleName 'PSDscResources'
Node localhost {
WindowsProcess ExampleWindowsProcess {
Path = 'C:\Windows\System32\gpresult.exe'
Arguments = '/h C:\gp2.htm'
Credential = $Credential
Ensure = 'Present'
}
}
}
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro