Wpis z mikrobloga

Pomógłby mi ktoś znaleźć odpowiednie materiały do Powershella?
Muszę zrobić skrypt, który ułatwilby mi życie. Nie robiłem czegoś takiego wcześniej i ciężko mi to idzie.

Dostaje maila o treści np.

123456-JakasNazwa

Muszę stworzyć folder o tej nazwie na File Serwerze
Skopiować strukturę folderów z innego folderu w tej samej lokalizacji.
Muszę stworzyć grupę w AD z tym numerem z maila z dopiskiem
RW
Dodać do nowo utworzonej grupy inne już istniejące grupy
Dodać tę grupę z możliwością modyfikacji w folderze na File serwerze.

I tak ponad 300 razy w ciągu roku i wszystko ręcznie...

Na necie znalazłem coś podobnego i staram się stworzyć swoj skrypt na podstawie tego.
https://community.spiceworks.com/topic/2211918-powershell-script-to-create-folder-ad-groups-and-apply-groups-to-folder

Jeżeli zastosuję taką komendę do tworzenia grupy to jest ok
New-ADGroup
-Name "$Client-RW

Jeżeli natomiast zastąpie "-" na "_" to już przestaje to działać. Z czego to wynika?

#powershell #sysadmin #siecikomputerowe
  • 4
@TenNorbert: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_variables?view=powershell-7.2#variable-names-that-include-special-characters

W skrócie mówiąc powershell domyślnie uznaje za nazwę zmiennej ciąg znaków pewnych klas, do których m.in. należy ' ' , ale już np. nie '-' . Stąd coś takiego "$Client-RW" powershell traktuje jako wartość zmiennej Client + ciąg '-RW', ale już "$Client_RW" uzna jako wartość zmiennej o nazwie Client_RW.

Rozwiązanie (i dobra praktyka): stosowanie nawiasów {} wokół nazwy zmiennej, u ciebie "${Client}
RW". To powershell