Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst AZURE Benutzername und Passwort für neue VM automatisch vergeben Daten Disk automatisch einbinden

Mitglied: pberlinger

pberlinger (Level 1) - Jetzt verbinden

11.09.2019, aktualisiert 19.09.2019, 206 Aufrufe, 4 Kommentare

Hallo Zusammen

ich versuche mich gerade ein wenig in PowerShell und Azure. Nachfolgend mal eine Anfänger-Version meines Script mit viel Potential
soweit geht es, wie ich es mir vorstelle.

Was noch nicht klapp und wobei ich Eure Hilfe brauche:

Während des Erstellen fragt mich AZURE / Powershell nach dem Username und Passwort für die später zu erstellende VM. Dies versuche ich aber gleich am Anfang unter dem Punkt "#Benutzer und Passwort für Virtuelle Maschine erstellen" mitzugeben

ich denke mal so geht dies vermutlich nicht

müsste ich dies beim effektiven erstellen der VM unter "# Erstellen der Virtuellen Maschine " einbauen? Wenn ja wie?

sorry, ist halt noch ein wenig ein zusammen-kopiertes-Script um zu üben und das Zeugs zu verstehen


01.
#Verbinden mit AZURE
02.
Connect-AzAccount
03.

04.
#Benutzer und Passwort für Virtuelle Maschine erstellen
05.
#$cred = Get-Credential -Message "Benutzername und Passwort für die neue Maschine eingeben"
06.
$username = "John Doe"
07.
$password = "%blablabla%"
08.
$secstr = New-Object -TypeName System.Security.SecureString
09.
$password.ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}
10.
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $secstr
11.

12.
#Definieren von Variablen
13.
$ResourceGroup="TestRG7"
14.
$Location="westeurope"
15.
$SubnetName="mySubnet"
16.
$SubNetPrefix="10.0.0.0/24"
17.
$VirtualNetworkName="MyNetwork"
18.
$VirtualNetworkPrefix="10.0.0.0/16"
19.
$NetworkInterfaceName="NIC1"
20.
$PrivateIPAddress="10.0.0.4"
21.
$VMName="MyVM001"
22.
$VMSize="Standard_B1ms"
23.
$PublisherName="MicrosoftWindowsServer"
24.
$PublisherOffer="WindowsServer"
25.
$PublisherSkus="2019-Datacenter-with-Containers-smalldisk"
26.
$DataDiskStorageType="Standard_LRS"
27.
$DataDiskName="DataDisk"
28.
$DataDiskSize="15"
29.

30.
#Erstellen der RessourcenGruppe
31.
New-AzResourceGroup -Name $ResourceGroup -Location $Location
32.

33.
#Erstellen des SubNet
34.
$SubnetConfig = New-AzVirtualNetworkSubnetConfig `
35.
-Name $SubnetName `
36.
-AddressPrefix $SubNetPrefix
37.

38.
#Erstellen des Virtuellen Netz
39.
$VNet = New-AzVirtualNetwork `
40.
-ResourceGroupName $ResourceGroup `
41.
-Location $Location `
42.
-Name $VirtualNetworkName `
43.
-AddressPrefix $VirtualNetworkPrefix `
44.
-Subnet $subnetConfig
45.

46.
# Get the subnet object for use in a later step.
47.
$Subnet = Get-AzVirtualNetworkSubnetConfig -Name $SubnetConfig.Name -VirtualNetwork $VNet
48.

49.
$IpConfigName1 = "IPConfig-1"
50.
$IpConfig1     = New-AzNetworkInterfaceIpConfig `
51.
  -Name $IpConfigName1 `
52.
  -Subnet $Subnet `
53.
  -PrivateIpAddress $PrivateIPAddress `
54.
  -Primary
55.

56.
$NIC = New-AzNetworkInterface `
57.
  -Name $NetworkInterfaceName `
58.
  -ResourceGroupName $ResourceGroup `
59.
  -Location $Location `
60.
  -IpConfiguration $IpConfig1
61.

62.
# Erstellen der Virtuellen Maschine  
63.
$VirtualMachine = New-AzVMConfig -VMName $VMName -VMSize $VMSize
64.
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $VMName -ProvisionVMAgent -EnableAutoUpdate
65.
$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
66.
$VirtualMachine = Set-AzVMSourceImage -VM $VirtualMachine -PublisherName $PublisherName -Offer $PublisherOffer -Skus $PublisherSkus -Version latest
67.
New-AzVM -ResourceGroupName $ResourceGroup -Location $Location -VM $VirtualMachine -Verbose
68.

69.
# Erstellen der Zusätzlichen DatenDisk
70.
$diskConfig = New-AzDiskConfig -SkuName $DataDiskStorageType -Location $Location -CreateOption Empty -DiskSizeGB $DataDiskSize
71.
$dataDisk1 = New-AzDisk -DiskName $DataDiskName -Disk $diskConfig -ResourceGroupName $ResourceGroup
72.
$vm = Get-AzVM -Name $vmName -ResourceGroupName $ResourceGroup
73.
$vm = Add-AzVMDataDisk -VM $vm -Name $DataDiskName -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1
74.
Update-AzVM -VM $vm -ResourceGroupName $ResourceGroup
75.

76.
# Erstellen einer Public IP und zuweisen
77.
New-AzPublicIpAddress -Name myVMPublicIP -ResourceGroupName $ResourceGroup -AllocationMethod Dynamic -Location $Location
78.
$vnet = Get-AzVirtualNetwork -Name $VirtualNetworkName -ResourceGroupName $ResourceGroup
79.
$subnet = Get-AzVirtualNetworkSubnetConfig -Name $SubnetName -VirtualNetwork $vnet
80.
$nic = Get-AzNetworkInterface -Name $NetworkInterfaceName -ResourceGroupName $ResourceGroup
81.
$pip = Get-AzPublicIpAddress -Name myVMPublicIP -ResourceGroupName $ResourceGroup
82.
$nic | Set-AzNetworkInterfaceIpConfig -Name $IpConfigName1 -PublicIPAddress $pip -Subnet $subnet
83.
$nic | Set-AzNetworkInterface
84.

85.
# Public IP Adresse abfragen
86.
Get-AzPublicIpAddress -Name myVMPublicIP -ResourceGroupName $ResourceGroup | Select IpAddress
87.

88.
# Login to virtual machine
89.
Get-AzRemoteDesktopFile -ResourceGroupName $ResourceGroup -Name $VMName -Launch
Mitglied: psuser
LÖSUNG 11.09.2019, aktualisiert um 21:33 Uhr
Du musst das Credential ja auch dem entsprechenden CMDLet übergeben
01.
$cred = New-Object PSCredential "USERNAME",(ConvertTo-SecureString "PASSWORD" -AsPlainText -Force)
02.
Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $VMName -ProvisionVMAgent -EnableAutoUpdate -Credential $cred
https://docs.microsoft.com/en-us/powershell/module/az.compute/set-azvmop ...
Bitte warten ..
Mitglied: pberlinger
12.09.2019, aktualisiert um 12:00 Uhr
Hallo PSUser

danke Dir für Deinen Input, konnte dies so aus irgendwelchen (Vermutlich Erfahrung) Gründen nicht lösen.
Habe dies Umgebaut und nun geht es..

was ich gemacht habe

ich erstelle zuerst den "Passwort-String" mit meinen Variablen
01.
$Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);  
Anschliessend übergebe ich dies beim erstellen der Maschine
01.
$VirtualMachine = New-AzVMConfig -VMName $VMName -VMSize $VMSize
02.
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $VMName -ProvisionVMAgent -EnableAutoUpdate -Credential $Credential
03.
$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
04.
$VirtualMachine = Set-AzVMSourceImage -VM $VirtualMachine -PublisherName $PublisherName -Offer $PublisherOffer -Skus $PublisherSkus -Version latest
05.
New-AzVM -ResourceGroupName $ResourceGroup -Location $Location -VM $VirtualMachine -Verbose
Nun habe ich aber noch ein anderes Problem, ich denke hier weisst Du sicherlich auch die Lösung... ich erstelle ein Daten-Laufwerk und möchte dies eigentlich "Attachen" und direkt initialisieren - ohne das ich dies danach händisch im Windows machen muss

aktuell löse ich dies so, oder versuche es zumindest

01.
$diskConfig = New-AzDiskConfig -SkuName $DataDiskStorageType -Location $Location -CreateOption Empty -DiskSizeGB $DataDiskSize
02.
$dataDisk1 = New-AzDisk -DiskName $DataDiskName -Disk $diskConfig -ResourceGroupName $ResourceGroup
03.
$vm = Get-AzVM -Name $vmName -ResourceGroupName $ResourceGroup
04.
$vm = Add-AzVMDataDisk -VM $vm -Name $DataDiskName -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1
05.
Update-AzVM -VM $vm -ResourceGroupName $ResourceGroup
Dis Disk ist im System vorhanden, leider aber nicht initialisiert und ohne Formatierung - was mache ich hier un wieder falsch?

Vermutlich wird dann noch das Problem kommen, dass ich die DatenDisk auf Anhieb nicht auf Laufwerk D: habe - aber ich lass mich mal überraschen
Bitte warten ..
Mitglied: psuser
12.09.2019, aktualisiert um 12:09 Uhr
Dis Disk ist im System vorhanden, leider aber nicht initialisiert und ohne Formatierung - was mache ich hier un wieder falsch?
Gar nichts das ist normal, wie bei jedem Datenträger der neu ist und Windows hinzugefügt wird, du hättest einfach nur weiter runter lesen müssen :
https://docs.microsoft.com/de-de/azure/virtual-machines/windows/tutorial ...

Vorbereiten von Datenträgern

Nach dem Anfügen eines Datenträgers an den virtuellen Computer muss das Betriebssystem zur Verwendung des Datenträgers konfiguriert werden. Im folgenden Beispiel wird gezeigt, wie der erste dem virtuellen Computer hinzugefügte Datenträger manuell konfiguriert wird. Dieser Vorgang kann auch mit der benutzerdefinierten Skripterweiterung automatisiert werden.
Bitte warten ..
Mitglied: pberlinger
19.09.2019 um 21:02 Uhr
Naja dass die ganze Sache nicht «von haus» aus von AZURE aus geht ist schon eine sehr fragwürdige Sache, aber nach mehr als 20 Jahren arbeiten mit MS nicht weiter verwunderlich – bin mir wirklich nichts anders gewöhnt von dem Laden 😊

Aber wie auch immer, das «mimimimi» hilft mir nicht das Problem zu lösen.. ich habe es aber wie folgt gelöst

Also zuerst was im «haupt-Script» drin ist

01.
# Erstelle des Storage Account
02.
# Erstellen einen Azure Blob für das Setup Script der VM
03.
$storageAccount = New-AzStorageAccount -ResourceGroupName $ResourceGroup -Name $StorageName -SkuName $DataDiskStorageType -Location $location
04.
$ctx = $storageAccount.Context
05.
$containerName = "scripts"
06.
New-AzStorageContainer -Name $containerName -Context $ctx -Permission blob
07.

08.
# Upload File to Blob
09.
Set-AzStorageBlobContent -File "$ScriptPath\AZUREVMSettings.ps1" `
10.
  -Container $containerName `
11.
  -Blob "AZUREVMSettings.ps1" `
12.
  -Context $ctx


Dann muss man die VM erstellen, sobald dies gemacht ist kann man folgenden Teil durchlaufen lassen

01.
# Setup Script der VM mit PS1 aus Blob definieren
02.
Set-AzureRmVMCustomScriptExtension -Name 'VMSettings' `
03.
-ContainerName $containerName `
04.
-FileName AZUREVMSettings.ps1 `
05.
-StorageAccountName $StorageName `
06.
-ResourceGroupName $ResourceGroup `
07.
-VMName $VmName `
08.
-Run AZUREVMSettings.ps1 `
09.
-Location $Location
Dies führt nun das Script auf der VM durch… das Script für die VM hat folgenden Inhalt

01.
# CD Laufwerk auf Laufwerk Z verschieben
02.
$drive = Get-WmiObject -Class win32_volume -Filter "DriveType = 5"
03.
Set-WmiInstance -input $drive -Arguments @{DriveLetter="Z:"; Label="Label"}
04.

05.
#Daten-Disk initialisiseren und foratieren
06.
Get-Disk | Where partitionstyle -eq 'raw' | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "DataDisk" -Confirm:$false
Ich weiss mein Script hat sicherlich noch Potential, aber immerhin 😊

Wer weiss ggf kann es jemand brauchen
Bitte warten ..
Ähnliche Inhalte
Xenserver

VM lässt sich nicht herunterfahren ( XenCenter ) - VM startet nach Herunterfahren automatisch neu

Frage von cschulteXenserver1 Kommentar

Hallo zusammen, ich habe das Problem, dass eine VM in einer Citrix Umgebung nach dem Herunterfahren von allein wieder ...

Vmware

VM Ware Player Passwort recovery

gelöst Frage von rocco61Vmware2 Kommentare

Hallo zusammen, erst mal ich möchte kein Konto oder Passwort aushebeln! Problem ist folgendes, habe auf einer VM Ware ...

Virtualisierung

VM automatisch Starten beim hochfahren

Frage von matze2090Virtualisierung10 Kommentare

Hallo, ich habe einen Windows Server bei der Arbeit den ich jeden Morgen hochfahre. Gibt es die Möglichkeit das ...

SAN, NAS, DAS

Separate Virtual Disk für jede CSV einer VM?

Frage von CptMultSAN, NAS, DAS1 Kommentar

Hallo zusammen, wir haben aktuell mit unseren neuen IBM Domino Server, welche seit kurzem im Cluster laufen, extreme Performance ...

Neue Wissensbeiträge
Windows Server

Active Directory ESE Version Store Changes in Server 2019

Information von Dani vor 3 TagenWindows Server

Moin, Last month at Microsoft Ignite, many exciting new features rolling out in Server 2019 were talked about. But ...

Exchange Server

Microsoft Extending End of Support for Exchange Server 2010

Information von Dani vor 3 TagenExchange Server4 Kommentare

Moin, After investigating and analyzing the deployment state of an extensive number of Exchange customers we have decided to ...

Schulung & Training

Humble Book Bundle: Network and Security Certification 2.0

Tipp von NetzwerkDude vor 3 TagenSchulung & Training

Abend, bei HumbleBundle gibts mal wider ein schönes Paket e-books: sind verschiedene Zertifizierungen wie MCSA, CCNA, CompTIA etc., für ...

Voice over IP

Telekom Umstellung von ISDN Anlagenanschluss auf IP-Telefonie

Erfahrungsbericht von NixVerstehen vor 6 TagenVoice over IP10 Kommentare

Hallo zusammen, nachdem nun vor ein paar Tagen die zwangsweise Umstellung von ISDN auf IP-Telefonie problemlos über die Bühne ...

Heiß diskutierte Inhalte
VB for Applications
Euro-Zeichen in jedem neu erstellten Brief mit Word automatisch entfernen
gelöst Frage von imebroVB for Applications23 Kommentare

Hallo, ich habe ein Problem mit Word, bzw. mit dem €-Zeichen, welches bei Erstellung eines Word-Briefes automatisch eingesetzt wird. ...

Batch & Shell
Regedit eintrad ändern als Admin
Frage von cyberworm83Batch & Shell19 Kommentare

Hallo zusammen, ich bin derzeit als Rollout Techniker unterwegs und muss täglich bei zig Rechnern einen Registry Einträg ändern ...

Visual Studio
Prüfen, ob Programm schon disposed wurde
Frage von MarcoBornVisual Studio17 Kommentare

Hallo Forum, ich habe in VB.NET ein Programm geschrieben, welches Word startet und dort Daten ausliest. Obwohl ich die ...

Router & Routing
Mikrotik Config PTP
Frage von Marcel94Router & Routing17 Kommentare

Hallo, kennt sich jemand mit Mikrotik aus? Möchte gerne eine PTP Verbindung mit zwei SYTsq 5ac Antennen erstellen. So ...