Исходный вопрос - обновление ниже - окончательный код в отмеченном ответе
Надеюсь, более или менее простой вопрос, но мой мозг поджарился. Я пытаюсь написать модуль для установки разрешений раздела реестра с именем «Set-RegistryPermissions», и у меня есть небольшая проблема с присвоением имен моим переключателям и созданием приемлемых наборов параметров. Я придумал следующее, но дошел до последней строки и зашел в тупик.
# -Recurse Sets Permissions for supplied key and subkeys (entire tree)
# -Inherit Sets Inheritance for supplied key
# -SubkeyInherit Sets Inheritance for only subkeys (entire subkey tree)
# -Inherit -Recurse Sets Inheritance for supplied key and subkeys (entire tree)
# -SubkeyInherit -Recurse Sets Permissions for supplied key and Inheritance for subkeys (entire subkey tree)
Чем больше я смотрю на это, тем больше запутываюсь. Может быть, я мог бы объединить -Inherit и -SubkeyInherit вместо -Inherit -Recurse или, может быть, начать снова и иметь что-то вроде SetSuppliedKey, Recurse, Set... Аааа, я снова запутался. Любые предложения, пожалуйста?
---- Обновлять ----
В ответ на комментарий @Scepticalist я придумал следующее, что также позволяет мне добавить «-Permissions -Subkeys».
Я действительно думал, что могу изменить «-Permissions -Recurse» на «-Permissions -All», но это звучит труднее понять, или я мог бы изменить «-Inherit -All» на «-Inherit -Recurse» и отказаться от переключателя -All, но это может сделать последний вариант запутанным, например, вы пытаетесь повторить все разрешения, а также наследовать.
Может быть, я просто слишком много думаю об этом или пытаюсь сделать слишком много в одной команде. Было бы проще, если бы команду запускали дважды, устанавливали разрешения, а затем устанавливали наследование.
Пожалуйста, дайте мне знать ваши мысли, если вы видите какие-либо проблемы или думаете, что это слишком сложно. Спасибо.
# -Permissions (Parameter)
# -Recurse (Switch)
# -Inherit (Switch)
# -Subkeys (Switch)
# -All (Switch)
# -Permissions Sets Permissions for supplied key
# -Permissions -Subkeys Sets Permissions for only subkeys (entire subkey tree)
# -Permissions -Recurse Sets Permissions for supplied key and subkeys (entire tree)
# -Inherit Sets Inheritance for supplied key
# -Inherit -Subkeys Sets Inheritance for only subkeys (entire subkey tree)
# -Inherit -All Sets Inheritance for supplied key and subkeys (entire tree)
# -Permissions -Inherit -Subkeys Sets Permissions for supplied key and Inheritance for subkeys (entire subkey tree)
# -Permissions -Inherit -All Sets Permissions for supplied key and Inheritance for entire tree
Это будут единственные допустимые комбинации, примером недопустимой комбинации может быть -Permissions -Subkeys -Recurse или -Permissions -Subkeys -All.
[РЕДАКТИРОВАТЬ]
Прочитав это, я думаю, что могу изменить «Subkeys» на «InheritSubkeys» и отказаться от переключателя «All», чтобы прочитать последние 4 строки,
# -InheritSubkeys Sets Inheritance for only subkeys (entire subkey tree)
# -Inherit -InheritSubkeys Sets Inheritance for supplied key and subkeys (entire tree)
# -Permissions -InheritSubkeys Sets Permissions for supplied key and Inheritance for subkeys (entire subkey tree)
# -Permissions -Inherit -InheritSubkeys Sets Permissions for supplied key and Inheritance for entire tree