A get- az egy meglevő objektumot vár. Inkább a new- hozna létre új objektumot. De az is lehet h. a GPO-kezelő PS parancsok valami másféle logikával hoznak létre új objektumokat. El kell olvasni a help-et.
Hi, could you provide an example for manipulating GPO settings in powershell?
ChatGPT
Certainly! Here's an example of how you can manipulate Group Policy Object (GPO) settings using PowerShell:
powershell
# Import the Group Policy module
Import-Module GroupPolicy
# Get the GPO object by name
$gpoName = "Example GPO"
$gpo = Get-GPO -Name $gpoName
# Retrieve the GPO's settings
$gpoSettings = Get-GPOReport -Name $gpoName -ReportType XML
# Manipulate the GPO settings (Example: Enable Windows Firewall)
$gpoSettings = $gpoSettings -replace '<Firewall_Enable>0</Firewall_Enable>', '<Firewall_Enable>1</Firewall_Enable>'
# Convert the modified GPO settings back to XML format
$modifiedGpoSettings = [xml]$gpoSettings
# Save the modified GPO settings
$modifiedGpoSettings.Save("$env:TEMP\ModifiedGpoSettings.xml")
# Import the modified GPO settings into the GPO object
Import-GPO -BackupId $modifiedGpoSettings.GPO.BackupId -TargetName $gpo.DisplayName
# Link the GPO to an Organizational Unit (OU)
$targetOU = "OU=ExampleOU,DC=contoso,DC=com"
New-GPLink -Name $gpoName -Target $targetOU
# Apply the GPO to the OU immediately
Invoke-GPUpdate -Force -Computer $targetOU
In this example, we start by importing the Group Policy module using the Import-Module cmdlet. Then, we retrieve the GPO object by its name using the Get-GPO cmdlet.
Next, we use the Get-GPOReport cmdlet to retrieve the GPO's settings in XML format. We can manipulate the settings as needed using various techniques, such as regular expressions or XML manipulation.
In this example, we modify a specific setting related to enabling the Windows Firewall by replacing the corresponding XML element.
After modifying the GPO settings, we convert them back to XML format using [xml], and then save the modified settings to a temporary file.
To import the modified GPO settings into the GPO object, we use the Import-GPO cmdlet with the backup ID obtained from the modified settings.
Finally, we link the GPO to an Organizational Unit (OU) using the New-GPLink cmdlet, specifying the GPO name and the target OU. We then force an immediate Group Policy update on the target OU using Invoke-GPUpdate to apply the changes.
Please note that manipulating GPO settings can have significant impact on your system's configuration, so exercise caution when making changes. Make sure to thoroughly test and validate the changes in a non-production environment before applying them in a production environment.
Egyszerubb dolgokat meg tudsz vele iratni.
A strange game. The only winning move is not to play. How about a nice game of chess?
ez azért kell, hogy a $VALAMIVÁLTOZÓNÉVBE el legyen tárolva a teljes GPO object, amin utána a változtatásokat a következő lépések el tudják végezni. Ez ilyen Powershell-es faszság, hogy először kell egy már létező object, azt a Get- parancs csak megnyitja (nem létrehozza, csak meglevőket tud megnyitni, ha nem létezik ilyen akkor meg hibát dob) beleteszi egy $VALAMI valtozóba, és ezen a $VALAMI változón végzel elemi szerkesztési lépéseket további ezt követő parancsokkal.
Ehhez viszont az kell, hogy legyen egy létező GPO-d, ami "fajitas" néven MÁR LÉTEZIK, hogy a Get-gpo ne hibával álljon meg.
Azaz nulladik lépésben létre kell hoznod egy új GPO-t, aminek a "fajitas" nevet fogod adni létrehozáskor.
Ha már létrehoztad, és létezik, a Get-Gpo meg fogja tudni nyitni, és a tartalmát vele fogja tudni tenni a VALAMIVÁLTOZÓNÉV-be, amivel utána tudsz tovább dolgozni a fentebbi példák alapján.
--> ez azért ad vissza hibát, mert a $GPO változóban nem lesz semmi, mert legelső parancs: $GPO = Get-Gpo -name fajitas is hibára futott, mert nem létezik még olyan GPO aminek fajitas a neve, azt először létre kellene hozni.
De az hogy ez a GPO adott felhasználókra vagy számítógépekre valóban érvényre is jusson, az megint egy komplikált témakör, ha ezt a GPO-t majd használni is szeretnéd valamire, nem csak egy példaparancsként létrehozást gyakorolni.
new-gpofilesystempath nevű powershell parancs nem létezik
Az egész 2.ps1 szkript tartalmat be kellene ide másolnod SZÖVEGKÉNT, hogy legyen fogalmunk mi a csudát próbálsz lefuttatni. Ne screenshotot töltögess fel, hanem az olvasható szöveges forrást kopizd be ide, és a hibaüzenetet is nyers olvasható szövegként ahogy kaptad. Képet nem fog nyitogatni senki hogy kihámozza belőle a tartalmat.
Az a baj hogy amig nem érted a GPO-t addig felesleges Powershellel kezelni. Előszőr felejtsd el a Powershell-t, értsd meg a GPO működését (használd pl.), és utána lehet scriptelni. De egyébként meg: mi az a feladat ami miatt ezt mindenképpen scriptelni kell?
Ha nem tudod hotkey-el, akkor egérrel kijelölöd a szöveget, aztán nyomsz rá egy enter-t. Ez (is) a vágólapra teszi a kijelölt szöveget.
Vagy az egész clipboard cakk-und-pakk nem működik a VM guest-ed és a hoszt között? Barkóbázunk hogy vajon mi lehet az eredeti nehézséged, de hamar megunja az ember...
Ha ennyire kezdőként állsz ezekhez a dolgokhoz, akkor légyszíves mutass több alázatot azok felé,akik megpróbálnak neked segíteni, mert hamar meg lehet unni ám ezt.
Szerintem csak az akar lenni (vagy elhiszi hogy az...) és össze akar tákolni egy AD-t egy iskolának .. na ebből lesznek nagy bajok ... :( értem én hogy kérdez szakmai fórumon, de ha az alapokról sincs lövése se.. akkor hah ..
Az ilyen "szakértők" után szoktunk "takarítani" .. vagy nullából újrahúzni az egészet ....
Hozzászólások
Mármint hogy kell buzergálni csoportházirendet PS-ből, vagy hogy kell csoportházirenddel PS scriptet indítani?
Az első!
Van itt egy egyszerű kód, ami nem fut le:
$gpo = get-gpo –Name „fajitas”
#Az új megosztott mappa neve és elérési útja
$foldername =„MegosztottMappa”
$folderPath=„ \\Szerver\Megosztas”
#Új megosztott mappa létrehozása a csoportházirendben
New-GPOFilesystemPath –GPO $gpo –Name $foldername –path $folderpath
--------Elvileg az első sor hozza létre a fajitas nevű gpo-t?
A get- az egy meglevő objektumot vár. Inkább a new- hozna létre új objektumot. De az is lehet h. a GPO-kezelő PS parancsok valami másféle logikával hoznak létre új objektumokat. El kell olvasni a help-et.
$gpo = get-gpo –Name „fajitas”
Akkor ez a sor csak egy nevet állít be a gpo-nak...
Ezt írja ki:
get-gpo, the fajitas GPO was not found in the PELDASULI.LOCAL domain
Azt szeretném hogy minden usernek aki hozzáfér a csoportházirendhez annak ez a megosztott mappa látszódjék!
Én nem értek hozzá, de szerintem az lesz a gond, hogy a fajitas GPO nem létezik a PELDASULI.LOCAL domainben. :)
Nagy troll vagy te, gelei! :D
https://learn.microsoft.com/en-us/powershell/module/grouppolicy/new-gpo…
https://learn.microsoft.com/en-us/powershell/module/grouppolicy/get-gpo…
Nem ertek powershellhez, de a CGPT igen:
Hi, could you provide an example for manipulating GPO settings in powershell?
ChatGPT
Certainly! Here's an example of how you can manipulate Group Policy Object (GPO) settings using PowerShell:
powershell
In this example, we start by importing the Group Policy module using the
Import-Module
cmdlet. Then, we retrieve the GPO object by its name using theGet-GPO
cmdlet.Next, we use the
Get-GPOReport
cmdlet to retrieve the GPO's settings in XML format. We can manipulate the settings as needed using various techniques, such as regular expressions or XML manipulation.In this example, we modify a specific setting related to enabling the Windows Firewall by replacing the corresponding XML element.
After modifying the GPO settings, we convert them back to XML format using
[xml]
, and then save the modified settings to a temporary file.To import the modified GPO settings into the GPO object, we use the
Import-GPO
cmdlet with the backup ID obtained from the modified settings.Finally, we link the GPO to an Organizational Unit (OU) using the
New-GPLink
cmdlet, specifying the GPO name and the target OU. We then force an immediate Group Policy update on the target OU usingInvoke-GPUpdate
to apply the changes.Please note that manipulating GPO settings can have significant impact on your system's configuration, so exercise caution when making changes. Make sure to thoroughly test and validate the changes in a non-production environment before applying them in a production environment.
Egyszerubb dolgokat meg tudsz vele iratni.
A strange game. The only winning move is not to play. How about a nice game of chess?
Oké, hogy segítsek is valamit:
1) $VALAMIVÁLTOZÓNÉV = get-gpo -name fajitas
ez azért kell, hogy a $VALAMIVÁLTOZÓNÉVBE el legyen tárolva a teljes GPO object, amin utána a változtatásokat a következő lépések el tudják végezni. Ez ilyen Powershell-es faszság, hogy először kell egy már létező object, azt a Get- parancs csak megnyitja (nem létrehozza, csak meglevőket tud megnyitni, ha nem létezik ilyen akkor meg hibát dob) beleteszi egy $VALAMI valtozóba, és ezen a $VALAMI változón végzel elemi szerkesztési lépéseket további ezt követő parancsokkal.
Ehhez viszont az kell, hogy legyen egy létező GPO-d, ami "fajitas" néven MÁR LÉTEZIK, hogy a Get-gpo ne hibával álljon meg.
Azaz nulladik lépésben létre kell hoznod egy új GPO-t, aminek a "fajitas" nevet fogod adni létrehozáskor.
Új GPO-t így hozol létre: New-GPO -name "fajitas"
irodalom: https://learn.microsoft.com/en-us/powershell/module/grouppolicy/new-gpo…
Ha már létrehoztad, és létezik, a Get-Gpo meg fogja tudni nyitni, és a tartalmát vele fogja tudni tenni a VALAMIVÁLTOZÓNÉV-be, amivel utána tudsz tovább dolgozni a fentebbi példák alapján.
New-GPOFilesystemPath –GPO $gpo –Name $foldername –path $folderpath
--> ez azért ad vissza hibát, mert a $GPO változóban nem lesz semmi, mert legelső parancs: $GPO = Get-Gpo -name fajitas is hibára futott, mert nem létezik még olyan GPO aminek fajitas a neve, azt először létre kellene hozni.
De az hogy ez a GPO adott felhasználókra vagy számítógépekre valóban érvényre is jusson, az megint egy komplikált témakör, ha ezt a GPO-t majd használni is szeretnéd valamire, nem csak egy példaparancsként létrehozást gyakorolni.
Szia!
Ezzel a parancssal létrehoztam az új gpo-t:
import-module grouppolicy
new-gpo -name "fajitas4"
new-gplink -name "fajitas4" -target DC=peldasuli, DC=local"
Továbbra is hibát ír ki.
ha bemásolnád a teljes hibaüzenetet, nem csak tippelni tudnánk mi a baj....
látatlanban azt mondanám, hogy hiányzik egy idézőjel a TARGET után:
-target DC=peldasuli, DC=local"
helyett inkább így:
-target "DC=peldasuli, DC=local"
https://mega.nz/file/aJczBayD#W6plzOPoSwkmf3YszQ6rI6gkbAcvzYdqCMb7D4pJW…
Nem az idézőjel a hiba azt csak ide írtam be rosszul.
Addig jó hogy a gpo-t létrehozza!
new-gpofilesystempath nevű powershell parancs nem létezik
Az egész 2.ps1 szkript tartalmat be kellene ide másolnod SZÖVEGKÉNT, hogy legyen fogalmunk mi a csudát próbálsz lefuttatni. Ne screenshotot töltögess fel, hanem az olvasható szöveges forrást kopizd be ide, és a hibaüzenetet is nyers olvasható szövegként ahogy kaptad. Képet nem fog nyitogatni senki hogy kihámozza belőle a tartalmat.
Hogy tudom virtualboxból idecopizni?
Kijelolod es masolas? :D Hogymashogy? :D
A bejáratnál várják a kikepzo kollégától elnézést kérni kívánókat :D
Hogy tudom virtualboxból idecopizni?
Egyébként elengedem ezt a megosztásos dolgot. Igazából nekem mindegy lenne csak tudjak powershellben valami feladatot megoldani. Ilyenekre gondolok:
-registry letiltása
-vezérlőpult letiltás
-parancsikon az asztalra helyezése
Megpróbálkozok ezekkel ha az előző parancs nem létezik!
A másik dolog meg hogy felhasználókat is hozzá kell rendelnem a csoportházirendhez hogy rájuk legyen érvényes. Az meg egy másik történet lesz!
Esetleg van ötletek egy nagyon egyszerű feladatra?
Ezt ismered? https://mek.oszk.hu/10400/10402/10402.pdf
Az a baj hogy amig nem érted a GPO-t addig felesleges Powershellel kezelni. Előszőr felejtsd el a Powershell-t, értsd meg a GPO működését (használd pl.), és utána lehet scriptelni. De egyébként meg: mi az a feladat ami miatt ezt mindenképpen scriptelni kell?
Jalos
Találtam egy egyszerű feladatot!
Az a kérdésem, hogy az alján lévő kódnál az OU=Kiszolgálók -nál egy organization unitot vár? Hozzak létre egyet, mondjuk fajitas néven?
$OU = "OU=Kiszolgálók,DC=contoso,DC=com"
OU létrehozása
New-ADOrganizationalUnit -Name "fajitas" -Path "DC=PELDASULI,DC=LOCAL" -ProtectedFromAccidentalDeletion $false
>>>>majd átírom alul
----------------------------------------------------------------------------
Itt kezdődik a kód
# Csoportházirend nevének és leírásának meghatározása
$PolicyName = "Példa Csoportházirend"
$PolicyDescription = "Ez egy példa csoportházirend PowerShellben."
# Csoportházirend létrehozása
New-GPO -Name $PolicyName -Description $PolicyDescription
# Csoportházirend objektum lekérése a neve alapján
$Gpo = Get-GPO -Name $PolicyName
# Csoportházirendhez szabályok hozzáadása
$Rule1 = "A felhasználók nem módosíthatják a háttérképet."
$Rule2 = "A felhasználók csak bizonyos alkalmazásokat futtathatnak."
Set-GPRegistryValue -Name $PolicyName -Key "HKCU\Control Panel\Desktop" -ValueName "Wallpaper" -Type String -Value "C:\Hatterkep.jpg"
Set-GPRegistryValue -Name $PolicyName -Key "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" -ValueName "DisallowRun" -Type MultiString -Value "notepad.exe","calc.exe"
# Csoportházirend alkalmazása az adott szervezeti egységre
$OU = "OU=Kiszolgálók,DC=contoso,DC=com"
Set-GPLink -Name $PolicyName -Target $OU
Sajnos nem segített az alábbi parancs:
New-ADOrganizationalUnit -Name "fajitas" -Path "DC=PELDASULI,DC=LOCAL" -ProtectedFromAccidentalDeletion $false
Nehogy beírd mi volt a hibaüzenet, hogy véletlenül még kitaláljuk!
Na igen, akkor hol marad a móka :D
OK adj ötletet hogyan lehet virtuálboxból idehozni a hibaüzenetet.Ctrl+C ugye nem jöhet számításba.
Miert nem johet szoba?
Ha nem tudod hotkey-el, akkor egérrel kijelölöd a szöveget, aztán nyomsz rá egy enter-t. Ez (is) a vágólapra teszi a kijelölt szöveget.
Vagy az egész clipboard cakk-und-pakk nem működik a VM guest-ed és a hoszt között? Barkóbázunk hogy vajon mi lehet az eredeti nehézséged, de hamar megunja az ember...
Akkor kizarasos alapon marad a Szerkesztes > Masolas.
Jézus. Dafuq?
VBoxban megnyitod a böngészőt és gépen belül másolsz, ha nem megy a guest-host közti művelet.
Sziasztok!
Visszatérve az eredeti problémára ezzel az egy sorral van baj:
set-gplink -name policyname -target $ou
ugye itt rendeljük össze a gpo-t az Organization unittal
A többi az lefut:
New-ADorganizationalunit -name "sirius11" -path "DC=peldasuli, DC=local" -ProtectedFromAccidentalDeletion $false
$PolicyName="vmi11"
New-gpo -name $policyName
$gpo = get-gpo -name $policyname
$rule1="A felhasználók nem módosíthatják a háttérképet!"
$rule2="A felhasználókcsak bizonyos alkalmazásokat futtathatnak"
set-gpregistryvalue -name $policyname -key "HKCU\Control Panel\Desktop" -valuename "wallpaper" -type string -value "C:\hatterkep.jpg"
set-gpregistryvalue -name $policyname -key "HKCU\Software\Microsoft\Windows\Currentversion\Policies\Explorer" -valuename "disallowrun" -type multistring -value "notepad.exe"
$OU ="OU=sirius11 DC=peldasuli,DC=local"
set-gplink -name policyname -target $ou
Ez a hibaüzenet:
Set-GPLink : Ismeretlen hiba (0x80005000)
At C:\8.ps1:13 char:1
+ Set-GPLink -name $policyname -target $OU
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Set-GPLink], COMException
+ FullyQualifiedErrorId : System.Runtime.InteropServices.COMException,Microsoft.
GroupPolicy.Commands.SetGPLinkCommand
$OU ="OU=sirius11 DC=peldasuli,DC=local"
sirius11 és DC=peldasuli KÖZÉ kell 1 vessző:
$OU ="OU=sirius11,DC=peldasuli,DC=local"
Azt javitottam.Az az érdekes hogy az ou-t létrehozza. Már csak össze kellene rendelni a a gpo-val.
Hibának írja hogy nincs ilyen hogy vmi11 a Peldasuli.local ban. Pedig lefut a ou létrehozása.
Az is érdekes hogyha menüből létrehozoma gpo-t és az out akkor sem rendeli össze a kettőt.
Set-GPLink -name gpo_faj -target org_faj -domain "peldasuli.local"
Mert egy virtuális oprendszerből nem lehet a gazdagépre áthozni!
Miert ne lehetne? :D Kiprobaltad? Vagy letiltottad? Vagy fel se raktad a guest additiont? Nem olvastal dokumentaciot?
Miért ne lehetne?
A Virtualbox dokumentációjában megtalálod, hogyan működik a guest-host vágólap.
Feltelepíted a Guest Additons-t, majd bekapcsolod a Bidirection Clipboardot.
https://www.virtualbox.org/manual/UserManual.html#settings-general-adva…
Ha ennyire kezdőként állsz ezekhez a dolgokhoz, akkor légyszíves mutass több alázatot azok felé,akik megpróbálnak neked segíteni, mert hamar meg lehet unni ám ezt.
PS C:\Users\Rendszergazda.WIN-ISKI57UHBSM> C:\fontos.ps1
DisplayName : Pelda_4
DomainName : PELDASULI.LOCAL
Owner : PELDASULI\Tartománygazdák
Id : 28ca161c-b3be-47c6-a45e-f74f77fda893
GpoStatus : AllSettingsEnabled
Description :
CreationTime : 2023. 06. 05. 13:25:28
ModificationTime : 2023. 06. 05. 13:25:28
UserVersion : AD Version: 0, SysVol Version: 0
ComputerVersion : AD Version: 0, SysVol Version: 0
WmiFilter :
DisplayName : Pelda_4
DomainName : PELDASULI.LOCAL
Owner : PELDASULI\Tartománygazdák
Id : 28ca161c-b3be-47c6-a45e-f74f77fda893
GpoStatus : AllSettingsEnabled
Description :
CreationTime : 2023. 06. 05. 13:25:28
ModificationTime : 2023. 06. 05. 13:25:28
UserVersion : AD Version: 1, SysVol Version: 1
ComputerVersion : AD Version: 0, SysVol Version: 0
WmiFilter :
DisplayName : Pelda_4
DomainName : PELDASULI.LOCAL
Owner : PELDASULI\Tartománygazdák
Id : 28ca161c-b3be-47c6-a45e-f74f77fda893
GpoStatus : AllSettingsEnabled
Description :
CreationTime : 2023. 06. 05. 13:25:28
ModificationTime : 2023. 06. 05. 13:25:28
UserVersion : AD Version: 2, SysVol Version: 2
ComputerVersion : AD Version: 0, SysVol Version: 0
WmiFilter :
set-gplink : There is no GPO named "Pelda_4" in the PELDASULI.LOCAL domain that is linked to the Active Directory con
tainer with LDAP path "OU=fajitasxx,DC=PELDASULI,DC=LOCAL". Make sure that a GPLink exists for the GPO specified by t
he GUID parameter and the site, organizational unit (OU), or domain specified by the Path parameter. Then, run the c
ommand again.
Paraméter neve: Name
At C:\fontos.ps1:13 char:1
+ set-gplink -name $policyname -target $OU
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Microsoft.Group...etGPLinkCommand:SetGPLinkCommand) [Set-GPLink], Arg
umentException
+ FullyQualifiedErrorId : GpoLinkNotFound,Microsoft.GroupPolicy.Commands.SetGPLinkCommand
/o\, meg egy kis psdebug kellene...
Te admin vagy?
Szerintem csak az akar lenni (vagy elhiszi hogy az...) és össze akar tákolni egy AD-t egy iskolának .. na ebből lesznek nagy bajok ... :( értem én hogy kérdez szakmai fórumon, de ha az alapokról sincs lövése se.. akkor hah ..
Az ilyen "szakértők" után szoktunk "takarítani" .. vagy nullából újrahúzni az egészet ....
Igen. Nyitok egy új topicot ezt meg lezárom! Túl sok a kódrészlet benne.
Egyébként letöltöttem a guest additions-t az eszközöknél leszürkiti. Nem engedi telepíteni.
Ne nyiss új topicot. Ne légy kikepzo2.
Kérdéseim:
- Mi a Virtualbox verziója?
- Mi a guest OS?
Ha egy témának több topicot nyitsz, az szemetelés.
Használj pastebin.com-ot a kódrészletek megosztására.
7 -es virtualbox
a guest os winserver 2016
Ember. Ha valamire válaszolsz, akkor használd a VÁLASZ gombot. Így a válaszod fastruktúra szerűen jelenik meg, nem pedig 1 szinttel feljebb.
Hányas Virtualbox? 7.x.y, ahol x és y értéke is fontos lehet.
Extension packot feltetted?
Host OS verziója, típusa?
Szerk.: Amúgy meg: https://www.youtube.com/watch?v=9cQbJEQDZBk
Szívesen.
vbox 6.1.34 r
extension fent van.
win10
Nekem így sem látszódik az insert guest additional CD image menü az eszközökben!
Az imént még 7-s Virtualboxot írtál. Ez hogy lehet?
A win10-ben látsz CD/DVD eszközt?
Közben átmentem a munkahelyemről az otthoni gépre. Ez 6.1.34
:).
Fogjátok fel mint napi humoradag.
Jalos