Konstante und schreibgeschützte PowerShell-Variablen für Administratoren, die Änderungen befürchten

Die meisten Leute definieren eine Variable in einer Programmiersprache als Platzhalter für etwas anderes. Die Variable ist ein Eimer, in den Dinge hineingehen, herauskommen, geändert und entfernt werden. Es gibt jedoch eine bestimmte Teilmenge von Power Shell Variablen, die definiert werden können, sich aber nie ändern können. Diese Mengen werden Konstanten und schreibgeschützte Variablen genannt.

Konstanten und schreibgeschützte Variablen sind funktional ziemlich äquivalent. Werte werden einer konstanten oder schreibgeschützten Variablen zugewiesen, können sich jedoch niemals ändern. Im Falle einer tatsächlichen Konstante kann sie nicht einmal entfernt werden. Lassen Sie uns ein kurzes Beispiel durchgehen.

Wenn Sie Skripte in PowerShell geschrieben haben, haben Sie höchstwahrscheinlich Variablen im Formular zugewiesen $ Variable = “irgendein Wert.” Dies ist gängige Praxis und die typische Art und Weise, wie eine Variable definiert wird. Es gibt jedoch eine integrierte PowerShell Cmdlet Set-Variable genannt, die auch Variablenwerte zuweisen kann. Es wird nicht so häufig verwendet, weil es geschrieben wird $ Bucket = “Voll” und Set-Variable -Name ‘Bucket’ -Wert ‘Full’ sind funktional gleichwertig.

Das habe ich geschaffen $ Eimer Variable und wies ihm einen Wert von Voll. Ich habe dann den Wert von geändert $ Eimer zu Leer. Aber was ist, wenn ich eine Konstante erstellen möchte? In diesem Fall verwenden Set-Variable mit einem zusätzlichen Parameter aufgerufen Möglichkeit. Mit dem Möglichkeit Parameter können Administratoren die zuweisen $ Eimer variabel wie immer ‘Voll.’

Beim Ändern des Wertes von $ Eimer Ich habe einen roten Fehlertext erhalten, der besagt, dass die Änderung nicht zulässig war. Die Konstante kann nicht geändert oder entfernt werden.

Das ist der Kern der Konstanten, aber was ist mit schreibgeschützten Variablen? Der Unterschied zwischen den beiden besteht darin, dass schreibgeschützte Variablen entfernt werden können.

ich benutzte Set-Variable wieder und alle Parameter und Parameterwerte waren die gleichen, außer dass ich den Wert verwendet habe Schreibgeschützt Anstatt von Konstante für die Möglichkeit Parameter. Nachdem ich den Wert zugewiesen hatte, versuchte ich ihn zu entfernen und wurde erneut mit dem Fehler konfrontiert. Aber die Nachricht sagte: ‘Wenn die Variable schreibgeschützt ist, versuchen Sie es mit der Option Force.’ Ich habe dann das benutzt Macht Parameter und konnte die Variable erfolgreich entfernen.

Aber warum sollte ein Administrator überhaupt eine konstante oder schreibgeschützte Variable verwenden? Es gibt einige Gründe. Ein Grund für die Verwendung schreibgeschützter Variablen ist, wenn Sie ein großes Skript haben, das möglicherweise Hunderte oder Tausende von Variablendeklarationszeilen enthält. Möglicherweise haben Sie eine Variable, die einem wichtigen Attribut eines Servers zugewiesen ist, und während des gesamten Skripts nehmen Sie mehrere Änderungen an anderen Attributen vor, und Sie möchten sicherstellen, dass Sie diesem Attribut nicht versehentlich einen Wert zuweisen. Wenn diese Variable geändert wird, passieren einige schlechte Dinge und Ihr Skript wird in die Luft gesprengt. Wenn Sie es zu einem schreibgeschützten Skript machen, stellen Sie sicher, dass Sie nichts falsch machen.

Gleiches gilt für Konstanten. Konstanten können verwendet werden, um den Wert einer Variablen zu verfestigen und zu verhindern, dass der Wert versehentlich oder absichtlich geändert oder entfernt wird. Vielleicht wird das Skript anderen Personen zur Verfügung gestellt, und Sie möchten nicht, dass sie mit Ihren Variablendeklarationen herumspielen.

Schließlich sind Konstanten theoretisch technisch besser als Variablen. Das Definieren einer Konstante bedeutet, dass Sie in Ihrer Absicht expliziter sind. Sie entfernen eine weitere Variable in Ihrem Skript, die Sie später berücksichtigen müssen. Wenn Sie wirklich technisch werden möchten, schont eine Konstante den Speicher, da sie nicht wie Variablen verfolgt werden muss.

Similar Posts

Leave a Reply