Hallo und viele Grüße von einem Neuen,
mein Problem in PS (ich habe diesbzgl. relativ wenig Kompetenz): Ich möchte in einem AD eine OU erzeugen, die denselben Namen hat wie der Domänen-Name. Den Domänen-Namen kann ich ermitteln mit
Get-ADDomain | select Name | Format-List
Die Ausgabe lautet dann
Name : my-domain
Wie bringe ich PS dazu, nur "my-domain" auszugeben und "Name :" weg zu kürzen? Ich möchte die Ausgabe gleich als Variable setzen, sodass "my-domain" als Grundlage für die Benennung von OUs innerhalb von "my-domain.local" genutzt werden kann. Ich stelle mir das so vor:
$domaene = Ergebnis der Abfrage "Get-ADDomain | select Name | Format-List" ohne Suffix
New-ADOrganizationalUnit -Name $domaene ...
Auf meiner Suche fand ich ein gutes Bsp. eines anderen Users, der einen String kürzen wollte und über dieses Bsp. zum Ziel kam:
$Test = "Das_ist_ein3456666komischer Text"
$neu = $test.substring(13,3)
write-host $neu
Ich kriege das Bsp. aber leider nicht verwurstet und bekomme stets Syntaxfehler. Kann mir bitte jemand mit einem Syntax-Bsp. helfen? Vielen Dank vorab.
MfG ibicis
Seite 1 von 1
Powershell: Domänen-Namen ermitteln und als Variable setzen
Anzeige
#2
geschrieben 21. Juli 2016 - 11:49
Zuallererstmal: PS ist objektorientiert. Laß den ganzen Kram mit Format-* weg, der ist bestenfalls noch für die Ausgabe. NICHT für intern.
Wenn Du nur den Namen haben willst:
Wenn Du mehr brauchst, stattdessen Get-AdDomain in eine Variable stecken und dann per $varName.Name auf den Namen zugreifen.
In etwa so sieht das dann aus:
Wenn Du nur den Namen haben willst:
$dnsDomainName = (Get-AdDomain).Name
Wenn Du mehr brauchst, stattdessen Get-AdDomain in eine Variable stecken und dann per $varName.Name auf den Namen zugreifen.
In etwa so sieht das dann aus:
PS C:\> Get-Host Name : ConsoleHost Version : 5.0.10586.494 InstanceId : 9b0603ef-0ee9-42bc-a5a0-5ee4b78b9a76 UI : System.Management.Automation.Internal.Host.InternalHostUserInterface CurrentCulture : de-DE CurrentUICulture : de-DE PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy DebuggerEnabled : True IsRunspacePushed : False Runspace : System.Management.Automation.Runspaces.LocalRunspace PS C:\> (Get-Host).Version Major Minor Build Revision ----- ----- ----- -------- 5 0 10586 494 PS C:\> (Get-Host).Version.Major 5
Dieser Beitrag wurde von RalphS bearbeitet: 21. Juli 2016 - 11:51
#3
geschrieben 21. Juli 2016 - 14:25
Hallo,
vielen Dank, hat geklappt! Aktuell sieht das PS-Script so aus:
$domaene_dn = (Get-AdDomain).DistinguishedName
$domaene = (Get-AdDomain).Name
New-ADOrganizationalUnit $domaene -path $domaene_dn
# entfernt Löschschutz von OU
Get-ADobject -Identity “OU=$domaene,$domaene_dn” | Set-ADobject -ProtectedFromAccidentalDeletion $false
MfG ibicis
vielen Dank, hat geklappt! Aktuell sieht das PS-Script so aus:
$domaene_dn = (Get-AdDomain).DistinguishedName
$domaene = (Get-AdDomain).Name
New-ADOrganizationalUnit $domaene -path $domaene_dn
# entfernt Löschschutz von OU
Get-ADobject -Identity “OU=$domaene,$domaene_dn” | Set-ADobject -ProtectedFromAccidentalDeletion $false
MfG ibicis
- ← per batch Ordner nach Dateinamen erstellen
- Skript/Web-Programmierung
- CMD-Batch Programme starten →
Thema verteilen:
Seite 1 von 1