Folyamat leállítása egy felhasználó alatt
Description
Ez a példa bemutatja, hogyan használhatja az WindowsProcess
erőforrást annak biztosítására, hogy egy folyamat ne fusson, és ha szükséges, egy megadott fiókkal állítsa le azt.
A rendszer kérni fogja a hitelesítő adatokat, ha nem ad át explicit módon egy hitelesítőadat-paramétert. Az erőforrás hitelesítőadat-tulajdonsága erre az értékre van beállítva.
A Győződjön meg a következőre Absent
állítva, az C:\Windows\System32\gpresult.exe
Elérési út beállítása és az Argumentumok beállítás üres sztringre van állítva, az erőforrás leállítja a futó gpresult.exe
folyamatokat. Mivel a Hitelesítő adatok tulajdonság be van állítva, az erőforrás leállítja a folyamatot fiókként.
A Invoke-DscResource
Ez a szkript bemutatja, hogyan használhatja az WindowsProcess
erőforrást a Invoke-DscResource
parancsmaggal annak ellenőrzésére gpresult.exe
, hogy nem fut-e, és hogyan állíthatja le felhasználó által megadott fiókként.
[CmdletBinding()]
param(
[ValidateNotNullOrEmpty()]
[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 = ''
Credential = $Credential
Ensure = 'Absent'
}
}
$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
}
}
Konfigurációval
Ez a kódrészlet bemutatja, hogyan definiálhat egy Configuration
erőforrásblokkot WindowsProcess
annak érdekében, hogy ne gpresult.exe
fusson, és hogyan állíthatja le felhasználó által megadott fiókként.
Configuration StopUnderUser {
[CmdletBinding()]
param(
[ValidateNotNullOrEmpty()]
[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 = ''
Credential = $Credential
Ensure = 'Absent'
}
}
}
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: